2016-10-22 6 views
0

Я использую рельсы 5.00 я получаю эту ошибку при попытке развернуть на AWSошибки развертывания рельсы приложения AWS упругая Beanstalk

[Instance: я-04fd37ed6913c4a8a] Сбой команды на экземпляре. Код возврата: 5 Выход: (TRUNCATED) ... ng uglifier 3.0.2 Установка un 0.1.4 Установка turbolinks 5.0.1 Установка activesupport 5.0.0.1 Произошла ошибка при установке nokogiri (1.6.8), и Bundler не может продолжаться. Перед подключением убедитесь, что gem install nokogiri -v '1.6.8'. Ошибка Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/10_bundle_install.sh. Для получения более подробной информации проверьте /var/log/eb-activity.log с помощью консоли или EB CLI.

+0

nokogiri - такая боль иногда. Вам действительно нужно попробовать установить его, как это предлагает. Включите SSH для вас EB env. Затем запустите установку gem вручную. Скорее всего, он взорвется сообщением об ошибке. Возьмите это сообщение об ошибке и google. Вероятно, вам нужно будет сделать что-то вроде http://stackoverflow.com/questions/25963315/nokogiri-installation-failes-on-elastic-beanstalk –

ответ

0

У вас есть два варианта, чтобы решить проблему:

1) Добавить patch в .ebextensions/packages.config, как это:

packages: 
    yum: 
    patch: [] 

Это сделало бы менеджер yum пакет установить его, прежде чем пытаться bundle install.

2) Добавить команду конфигурации в ebextensions/nokogiri_command.config так:

commands: 
    test: 
    command: "bundle config build.nokogiri --use-system-libraries" 

Любая из этих двух вариантов работал для меня. Не забудьте зафиксировать, прежде чем нажимать на AWS.

0

Я столкнулся с той же ошибкой «Удостоверьтесь, что gem install nokogiri -v« 1.6.8 »преуспевает перед связыванием».

Это было связано с тем, что я не выбрал правильную версию развертывания для рубина. Изначально при создании среды я оставил платформу ruby ​​по умолчанию, которая оказалась версией 2.3 (Пассажир). Получена ошибка выше.

Я закончил среду и заново создал ее, но выбрал ruby ​​2.2 (Puma), который я использую в своей среде разработки. Окружающая среда AWS была создана без ошибок.

Хотя вышеупомянутое корректирующее действие устраняет проблему, оно не объясняет, почему создание среды ruby ​​2.3 (Passenger) не удалось, особенно потому, что я сделал своего рода «консервированную» сборку - создание среды было через консоль AWS, используя «пример приложения» "в конфиге. Я сделал , а не попытался создать его через командную строку eb или использовать любой из моих скриптов из эластичного материала или развернуть мое собственное приложение.

Смежные вопросы