Ошибка связки Rails при нажатии на Elastic Beanstalk - PullRequest
0 голосов
/ 29 января 2019

У меня было приложение, развернутое на Heroku, и в настоящее время я пытаюсь создать такое же приложение на AWS.Я скопировал свою папку, создал полное разделенное хранилище на Github и установил ebcli, установка выглядит нормально.

Когда я пытаюсь запустить eb deploy, у меня появляется эта ошибка: [Экземпляр: i-03051e2a022886184] Командане удалось в случае.Код возврата: 1 Вывод: (TRUNCATED) ...: в find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException) from /opt/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems.rb:308:in activ_bin_path 'из /opt/rubies/ruby-2.5.3/bin/bundle:23:in `'.

Я посмотрел в Интернете, и он говорит, что это происходит из-за несовместимости между вашей версией компоновщика файлов gemlock и реальной версией компоновщика.

Я пытался изменить свою версию компоновщика на эту, но ясдался и вернулся к 2.0.1, потому что в противном случае мне пришлось установить слишком много зависимостей.Я удалил gemlock, снова связал, но я все еще получал ту же ошибку при попытке развернуть.

С моей версией heroku, она всегда работала.

Есть идеи, как это решить?

Большое спасибо

Ответы [ 2 ]

0 голосов
/ 12 апреля 2019

На самом деле проблема существует, потому что версия пакета в eb env старше той, которая используется в источнике проекта.

Таким образом, решение состоит в том, чтобы использовать версию пакета, меньшую или равную установленной версии eb env.

Сначала удалите текущий пакет:

комплект для удаления gem

, а затем установите нужный:

gem install bundler -v 1.16.6

Подробнее

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

Мы перешли с Heroku на AWS также несколько месяцев назад, и, скорее всего, потребуется несколько нестандартных сценариев, чтобы все заработало.

Было бы полезно узнать больше о вашей среде EB, но я предполагаю, что вы используете Ruby 2.5 с Puma на Amazon Linux 2.9.0 (?)

Не уверен, какая версия пакета входит в комплектэто, но я не думаю, что это 2.x.поэтому вы должны добавить файл .ebextensions и установить предпочитаемую версию.

# .ebextensions/01_install_bundler.config

container_commands:
  install_bundler:
    command: “gem install bundler —-version 2.0.0”

Подробнее о Настройки AWS Linux

Конец дня, мыНамного приятнее с нашей средой AWS (более низкая стоимость, лучшая производительность), но для ее настройки требуется больше усилий

...