由于某种原因,我们无法在生产中运行 rails 控制台。该命令rails console -e production
适用于我们的 Windows 机器,但在我们的 Mac 上失败。
这篇SO帖子解释了如何解决它,但是有人可以解释为什么我们在一台机器上而不是另一台机器上看到此错误消息吗?
/usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands/console.rb:23:in `block in start': invalid option: -e (OptionParser::InvalidOption)
from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands/console.rb:18:in `new'
from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands/console.rb:18:in `start'
from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands/console.rb:8:in `start'
from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
谢谢!
就像错误所说的那样,-e
不是 rails 控制台命令的有效选项(在您的 Rails 版本中)。这是正确的用法:
$ rails console --help
Usage: console [environment] [options]
-s, --sandbox Rollback database modifications on exit.
--debugger Enable ruby-debugging for the console.
--irb DEPRECATED: Invoke `/your/choice/of/ruby script/rails console` instead
实际上,我确实看到了-e选项。有趣
rails console --help
给
Usage: rails console [environment] [options]
-s, --sandbox Rollback database modifications on exit.
-e, --environment=name Specifies the environment to run this console under (test/development/production).
Default: development
--debugger Enable the debugger.
rails console -e production
给我
Loading production environment (Rails 4.0.1)
irb(main):001:0>
我在轨道 4.0.1 上。
编辑 - 错过了有关 3.2.12 中问题的部分。