我正在使用eb CLI将我的RoR API部署到Beanstalk,尽管部署有效,但应用程序degrated。我可以看到它失败:
+ bundle install
/opt/rubies/ruby-2.5.7/lib/ruby/site_ruby/2.5.0/rubygems.rb:284:in `find_spec_for_exe': Could not find 'bundler' (2.1.4) required by your /var/app/ondeck/Gemfile.lock. (Gem::GemNotFoundException)
To update to the latest version installed on your system, run `bundle update --bundler`.
To install the missing version, run `gem install bundler:2.1.4`
from /opt/rubies/ruby-2.5.7/lib/ruby/site_ruby/2.5.0/rubygems.rb:303:in `activate_bin_path'
from /opt/rubies/ruby-2.5.7/bin/bundle:23:in `<main>'.
我在AWS文档中找不到解决该问题并防止再次发生的措施。有没有人经历过同样的事情,或者知道为什么会这样,更重要的是,如何解决它。
首先,请确保您的Gemfile中包含捆绑程序gem。如果已经有了,请添加一个弹性beantalk配置文件以升级预安装的捆绑器。
#.ebextensions/bundler_update.config
commands:
update_bundler:
command: /opt/rubies/ruby-2.5.7/bin/gem install bundler -v 2.1.4
Ruby和Bundler版本应与您的版本匹配。