Rails new 命令一直转圈怎么办?

2020-11-09 18:47:01 +08:00
 coool

大佬们,执行rails new demo命令时到下面这里一直在转圈,很久也不往下走,求指点:

warning @rails/webpacker > webpack > watchpack > watchpack-chokidar2 > chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
warning @rails/webpacker > webpack > watchpack > watchpack-chokidar2 > chokidar > fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
warning @rails/webpacker > webpack > micromatch > snapdragon > source-map-resolve > resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
warning @rails/webpacker > webpack > micromatch > snapdragon > source-map-resolve > urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 🔨  Building fresh packages...
[-/3] ⠂ waiting...
[-/3] ⠂ waiting...
[3/3] ⠂ node-sass

就是最后三行,一直在转圈:

[-/3] ⠂ waiting...
[-/3] ⠂ waiting...
[3/3] ⠂ node-sass

已经用下面这两个命令换了代理:

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

bundle config mirror.https://rubygems.org https://gems.ruby-china.com
5324 次点击
所在节点    Ruby on Rails
22 条回复
qiuyi116
2020-11-09 18:48:47 +08:00
我记得是有 node 依赖。npm 也加一次镜像。
coool
2020-11-09 18:54:24 +08:00
@qiuyi116 刚设置了 `npm config set registry https://registry.npm.taobao.org`, 现在还在转圈中……另外上面很多 warning 怎么处理掉?`webpacker`已经更新到 5.2.1 了
coool
2020-11-09 19:42:22 +08:00
弄一天了都没弄好,可能是 rails 门槛太高,高攀不起……
aristolochic
2020-11-09 22:22:16 +08:00
node-sass 是有二进制依赖( node-gyp )的,淘宝有预编译的二进制包,但是要想直接使用可不是设置 npm 的镜像源就完事儿了的,具体看 taobao npm 的文档。上面的 warning 忽略就行,都那样。
fangxing204
2020-11-09 22:41:51 +08:00
应该是卡在 yarn install 了,试试设置代理,删掉 node_modules 重试?
doublechenpaul
2020-11-10 09:48:06 +08:00
@coool 首先不同意你说的门槛太高,第二,可以贴一下 rails 版本及 ruby 版本吗
coool
2020-11-10 09:56:45 +08:00
@fangxing204 刚设置了 `yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g`, `yarn config set registry https://registry.npm.taobao.org` 还是不行,翻墙也不行……

@aristolochic 执行了

```
echo '\n#alias for cnpm\nalias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/dist \
--userconfig=$HOME/.cnpmrc"' >> ~/.zshrc && source ~/.zshrc
```
也不行。
coool
2020-11-10 09:58:52 +08:00
@doublechenpaul 大佬,ruby 版本:`ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin19]`, rails 版本:·Rails 6.0.3.4`。按照这个操作了已经: https://ruby-china.org/wiki/install_ruby_guide
doublechenpaul
2020-11-10 10:08:17 +08:00
@doublechenpaul 坐标广州,三个圈圈转了 10 分钟左右就安装成功了
impl
2020-11-10 10:09:03 +08:00
Ctrl C 试试?
coool
2020-11-10 10:11:44 +08:00
@doublechenpaul 大佬,啥设置?我这从九点半上班转到现在了。

@impl Ctrl C => rm -rf demo => rails new demo, 很多次了
coool
2020-11-10 10:31:29 +08:00
哇,删除了所有的代理,本地 global 翻墙,终于成功了……
msg7086
2020-11-10 11:20:43 +08:00
你如果只是要 new 一个新的 Rails 项目的话,如果用不到 webpack 那可以跳过 webpack 那块。
coool
2020-11-10 13:26:58 +08:00
@msg7086 唉,现在又碰到新问题了,我执行`bin/rails generate controller Say hello goodbye`之后访问`localhost:3000/say/hello`一直报:

```
[Webpacker] Compiling...
[Webpacker] Compilation failed:
yarn run v1.22.10
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.


error Command "webpack" not found.
```

执行啥都没用,` bundle exec rails webpacker:install`也不行……

愁人
msg7086
2020-11-10 14:40:30 +08:00
我不用 webpack 的,帮不了你……
doublechenpaul
2020-11-10 16:41:08 +08:00
@coool https://stackoverflow.com/questions/44845143/webpack-command-not-found
你试试这个,感觉是因为你本地执行路径有问题
wangkun025
2020-11-11 13:24:23 +08:00
用 rails5
wangkun025
2020-11-11 13:30:28 +08:00
gem install rails -v 5.2.4.4
rails _5.2.4.4_ new demo
cd demo
rails g scaffold Post title:string
rake db:migrate

visit http://localhost:3000/posts

上面的我测试了,没问题。
lidashuang
2020-11-11 13:38:35 +08:00
目测 npm 的锅
iloveayu
2020-11-30 12:29:03 +08:00
@coool #14
运行 yarn add @rails/webpacker
把 webpacker 的依赖都补全了就可以了,
Rails 6.0.3.4 可以复现你遇到的问题,通过此方式可以解决。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/723318

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX