Rails: Как получить puma 3.11 для приложения AWS Elasticbeanstalk? - PullRequest
0 голосов
/ 28 апреля 2018

Я пытаюсь развернуть приложение Rails на новом экземпляре EC2. EB использует версию 2.16.0 (которой 2 года) вместо версии (3.11.0), которую я определил в Gemfile.lock. Для меня это проблема, потому что старая версия puma зависит от старой версии rack gem. Но одна из моих новых зависимостей требует последней версии rack gem

Текущая платформа EB: Puma с Ruby 2.3, работающей на 64-битной Amazon Linux / 2.4.4

Таким образом, EB автоматически использует старую версию puma и стеллажную старую, что приводит к конфликту с моими последними драгоценными камнями:

/ opt / rubies / ruby-2.3.4 / lib / ruby ​​/ gems / 2.3.0 / gems / bundler-1.15.0 / lib / bundler / runtime.rb: 317: в check_for_activation_spec !: Вы уже активированы стойки 1.6.8, но для вашего Gemfile требуется стойка 2.0.5. Добавление bundle exec к вашей команде может решить эту проблему. (Gem :: LoadError)

Я вижу обе версии (по умолчанию от EB и от Gemfile.lock):

[гемы пользователя ec2] $ ls -l /opt/rubies/ruby-2.3.4/lib/ruby/gems/2.3.0/gems/puma*

Пума-2.16.0

Пума-3.11.4

Есть ли способ использовать нашу собственную версию пумы?

Текущая платформа EB: Puma с Ruby 2.3, работающим на 64-битной Amazon Linux / 2.4.4

1 Ответ

0 голосов
/ 30 апреля 2018

Вы используете довольно старую версию платформы ElasticBeanstalk Puma - последняя версия - Puma with Ruby 2.5 running on 64bit Amazon Linux/2.7.2. К сожалению, это все еще идет с Puma 2.16. Установка двух разных версий Puma одновременно может вызвать проблемы.

Я думаю, у вас есть несколько вариантов:

  1. Переключиться с пумы на пассажира.
  2. Понижение версии другой стойки, которая зависит от стойки, до версии, которая может работать со старой версией стойки
  3. Попросите службу поддержки AWS обновить Puma на платформе.
...