ruby-on-rails - 无法成功部署到 Beanstalk
问题描述
我正在使用eb CLI 将我的 RoR API 部署到 Beanstalk,虽然部署工作正常,但应用程序降级了。我可以看到它失败了:
+ 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 文档中找到我应该做些什么来解决这个问题并防止再次发生。有没有人经历过同样的事情,或者知道为什么会这样,更重要的是,如何解决它。
解决方案
您的弹性 beanstalk 的捆绑器版本不是您的项目所需的 2.1.4。添加弹性 beanstalk 配置文件以升级预安装的弹性 beanstalk 捆绑器。
#.ebextensions/bundler_update.config
commands:
update_bundler:
command: /opt/rubies/ruby-2.5.7/bin/gem install bundler -v 2.1.4
Ruby 和 Bundler 版本应该与您的匹配。
推荐阅读
- google-cloud-platform - 通过 Docker Registry HTTP API V2 列出 Google Container Registry 镜像的问题
- ibm-doors - 字符串换行符未显示在门中
- delphi - Delphi 导出到 Excel (.xlsx)
- javascript - 如何通过webpack加载angularjs框架中定义的动态图片?
- swift - 如何在相机 ARKit 顶部添加半透明背景
- java - 为什么 Spring 批处理不支持 Informix?
- php - 使用 Volley 库、PHP 和 MySQL 登录后,如何在下一个活动 (Android) 中显示用户的余额?
- c# - 无法在后面的代码中访问 datalist 控件 ID
- java - 如何对具有动态参数的比较器进行排序?
- python - 为什么 (Py)ZeroMQ 会打开这么多 Unix 套接字文件?