如何在AWS OpsWorks中启动Rails控制台

问题描述 投票:0回答:1

最近,一个应用程序已升级到Rails 6,它在AWS Opsworks上使用Apache和Passenger。

我想知道如何在生产中启动Rails控制台?

deploy@apricots:/srv/www/app_name/current$ bundle exec rails c production                                                                                                                            
Traceback (most recent call last):
        9: from /usr/local/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        8: from /usr/local/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        7: from /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/setup.rb:10:in `<top (required)>'
        6: from /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler.rb:107:in `setup'
        5: from /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/runtime.rb:26:in `setup'
        4: from /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/runtime.rb:26:in `map'
        3: from /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/spec_set.rb:148:in `each'
        2: from /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/spec_set.rb:148:in `each'
        1: from /usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/runtime.rb:31:in `block in setup'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/runtime.rb:319:in `check_for_activated_spec!': You have already activated bundler 1.17.2, but your Gemfile requires bundler 2.0.2. Since bundler is a default gem, you can either remove your dependency on it or try updating to a newer version of bundler that supports bundler as a default gem. (Gem::LoadError)

Note:以前在Rails 5和Nginx Unicorn Server上可以使用。

amazon-web-services aws-opsworks
1个回答
0
投票

临时修复

  1. 删除Gemfile.lock

  2. 使用Ubuntu激活的捆绑器版本生成新的Gemfile.lock。例如:

    $ RAILS_ENV =开发包1.17.2安装

  3. 通过以下方式启动Rails控制台:

    RAILS_ENV =开发包1.17.2 exec rails console

© www.soinside.com 2019 - 2024. All rights reserved.