Невозможно запустить консоль rails в производстве: недопустимая опция -e

По какой-то причине мы не можем запустить консоль 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>'

Спасибо!


person Crashalot    schedule 07.01.2014    source источник
comment
Попробуйте просто rails console production или RAILS_ENV=production rails console.   -  person sevenseacat    schedule 07.01.2014


Ответы (2)


Как говорится в ошибке, -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
person mechanicalfish    schedule 07.01.2014
comment
как ни странно, я вижу переключатель -e .. подробности в моем ответе. Странный! - person Srikanth Venugopalan; 07.01.2014

На самом деле, я вижу опцию -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.

person Srikanth Venugopalan    schedule 07.01.2014
comment
Однако вопрос касается 3.2.12. - person mechanicalfish; 07.01.2014