Обновите версию Ruby при развертывании на EB - PullRequest
0 голосов
/ 04 января 2019

У меня есть приложение для рабочих рельсов на Ruby 2.2.5, но я обновил свое приложение до ruby ​​2.5.3 и рельсов с 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.

Чтобы это исправить, я вставил ssh'd в экземпляр и установил rvm перед обновлением версии ruby, используя

rvm --default use 2.5.3

После этого я обновил свой bundler, как указано в сообщении об ошибке, но похоже, что версия ruby ​​сбрасывается на 2.2.5 каждый раз, когда я закрываю соединение, и ssh снова, потому что выполняю

ruby -v дает 2.2.5

Как мне обновить версию ruby ​​на моем экземпляре?

1 Ответ

0 голосов
/ 04 января 2019

Elastic Beanstalk устанавливает версию Ruby в платформе (вы можете думать об этом как о базовом AMI). Чтобы обновить это, вам нужно обновить версию вашей платформы .

В зависимости от используемого вами веб-сервера вам может понадобиться один из следующих вариантов:

  • 64-битная версия Amazon Linux 2018.03 v2.8.7 под управлением Ruby 2.5 (Puma)
  • 64-битная версия Amazon Linux 2018.03 v2.8.7 под управлением Ruby 2.5 (автономная версия для пассажиров)
...