ruby-on-rails - 使用 Webpacker 挂起的 Rails 命令
问题描述
我正在尝试在 Windows 10 机器上创建一个新的 Rails 6 应用程序。但是,当我尝试运行任何东西rails
或rake
命令时,它会挂起/冻结。我发现它与Webpacker
我创建数据库时有关。
C:\Sites\myapp> bundle exec rake db:migrate --trace
当我终止工作时,它显示了这一点:
rails aborted!
Interrupt:
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/webpacker-4.0.7/lib/webpacker/railtie.rb:33:in ``'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/webpacker-4.0.7/lib/webpacker/railtie.rb:33:in `block in <class:Engine>'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/railties-6.0.0.rc1/lib/rails/initializable.rb:32:in `instance_exec'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/railties-6.0.0.rc1/lib/rails/initializable.rb:32:in `run'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/railties-6.0.0.rc1/lib/rails/initializable.rb:61:in `block in run_initializers'
C:/tools/ruby26/lib/ruby/2.6.0/tsort.rb:228:in `block in tsort_each'
C:/tools/ruby26/lib/ruby/2.6.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
C:/tools/ruby26/lib/ruby/2.6.0/tsort.rb:431:in `each_strongly_connected_component_from'
C:/tools/ruby26/lib/ruby/2.6.0/tsort.rb:349:in `block in each_strongly_connected_component'
C:/tools/ruby26/lib/ruby/2.6.0/tsort.rb:347:in `each'
C:/tools/ruby26/lib/ruby/2.6.0/tsort.rb:347:in `call'
C:/tools/ruby26/lib/ruby/2.6.0/tsort.rb:347:in `each_strongly_connected_component'
C:/tools/ruby26/lib/ruby/2.6.0/tsort.rb:226:in `tsort_each'
C:/tools/ruby26/lib/ruby/2.6.0/tsort.rb:205:in `tsort_each'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/railties-6.0.0.rc1/lib/rails/initializable.rb:60:in `run_initializers'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/railties-6.0.0.rc1/lib/rails/application.rb:362:in `initialize!'
C:/Sites/highbar/config/environment.rb:5:in `<top (required)>'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/zeitwerk-2.1.6/lib/zeitwerk/kernel.rb:23:in `require'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/zeitwerk-2.1.6/lib/zeitwerk/kernel.rb:23:in `require'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/activesupport-6.0.0.rc1/lib/active_support/dependencies.rb:302:in `block in require'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/activesupport-6.0.0.rc1/lib/active_support/dependencies.rb:268:in `load_dependency'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/activesupport-6.0.0.rc1/lib/active_support/dependencies.rb:302:in `require'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/railties-6.0.0.rc1/lib/rails/application.rb:338:in `require_environment!'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/railties-6.0.0.rc1/lib/rails/application.rb:514:in `block in run_tasks_blocks'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/task.rb:273:in `block in execute'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/task.rb:273:in `each'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/task.rb:273:in `execute'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/task.rb:214:in `block in invoke_with_call_chain'
C:/tools/ruby26/lib/ruby/2.6.0/monitor.rb:230:in `mon_synchronize'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/task.rb:194:in `invoke_with_call_chain'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/task.rb:238:in `block in invoke_prerequisites'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/task.rb:236:in `each'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/task.rb:236:in `invoke_prerequisites'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/task.rb:213:in `block in invoke_with_call_chain'
C:/tools/ruby26/lib/ruby/2.6.0/monitor.rb:230:in `mon_synchronize'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/task.rb:194:in `invoke_with_call_chain'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/task.rb:238:in `block in invoke_prerequisites'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/task.rb:236:in `each'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/task.rb:236:in `invoke_prerequisites'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/task.rb:213:in `block in invoke_with_call_chain'
C:/tools/ruby26/lib/ruby/2.6.0/monitor.rb:230:in `mon_synchronize'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/task.rb:194:in `invoke_with_call_chain'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/task.rb:183:in `invoke'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/application.rb:160:in `invoke_task'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/application.rb:116:in `block (2 levels) in top_level'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/application.rb:116:in `each'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/application.rb:116:in `block in top_level'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/application.rb:125:in `run_with_threads'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/application.rb:110:in `top_level'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/railties-6.0.0.rc1/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/application.rb:186:in `standard_exception_handling'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/railties-6.0.0.rc1/lib/rails/commands/rake/rake_command.rb:20:in `perform'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/railties-6.0.0.rc1/lib/rails/command.rb:48:in `invoke'
C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/railties-6.0.0.rc1/lib/rails/commands.rb:18:in `<top (required)>'
bin/rails:4:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => db:create => db:load_config => environment
当我在 gemfile 中注释掉 Webpacker 时,它就像rails s
. 一旦我取消注释 Webpacker,命令就会再次冻结/挂起。
还有什么我需要做的bundle exec rails webpacker:install
吗?
解决方案
我的 NodeJS 版本已经过时了。当我更新 NodeJS 时,我还需要更新 Yarn。之后,我可以使用 Webpacker 运行 Rails 6。
推荐阅读
- node.js - Slackbot 在交互式会话中保持上下文(NodeJS)
- spring - spring-data-rest-webmvc:3.4.x 是否与 Spring Boot 2.3.x 兼容?
- python - 从python中文本文件的某些行中查找平均值
- python - 将具有不同键顺序的多个 json 文件插入到 postgres 表中
- c++ - V8 c++:如何通过代码将模块导入脚本上下文
- reactjs - 无法读取属性 Symbol(Symbol.iterator)
- flutter - 颤振:返回值为 NULL
- c# - 在没有递归函数的 C# 中计算组合
- python - 为什么我在使用 python 写入文件时会出错?
- custom-data-attribute - Swiper.js 活动幻灯片到达数据属性