我在Ruby 2.2.5
上有一个生产rails应用程序,但是我将我的应用程序更新为ruby 2.5.3
,并且将rails从4.2
更新为5.2
。当我尝试将其部署到ElasticBeanstalk时,每次都会出现以下错误:
Warning: the running version of Bundler is older than the version that created the lockfile.
We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.
Your Ruby version is 2.2.5, but your Gemfile specified 2.5.3.
Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/10_bundle_install.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
要解决此问题,我先将其切入实例并安装rvm
,然后使用
rvm --default use 2.5.3
此后,我按照错误消息中的建议更新了bundler
,但似乎每次关闭连接并重新插入2.2.5
时,红宝石版本都会重置为ssh
,因为这样做< / p>
ruby -v
给出2.2.5
如何更新实例上的ruby版本?
答案 0 :(得分:2)
Elastic Beanstalk在平台中设置Ruby版本(您可以将其视为基本的AMI)。要升级它,您需要升级到update your platform version。
根据您使用的Web服务器,听起来您需要以下之一: