2016-10-22 120 views
0

我使用的軌道5.00 嘗試部署到AWS錯誤部署Rails應用程序AWS彈性魔豆

時,我不斷收到此錯誤[實例:I-04fd37ed6913c4a8a]命令失敗的實例。返回碼:5輸出:(截斷)... ng uifier 3.0.2安裝unf 0.1.4安裝turbolinks 5.0.1安裝activesupport 5.0.0.1安裝nokogiri(1.6.8)時發生錯誤,並且Bundler無法繼續。在捆綁之前確保gem install nokogiri -v '1.6.8'成功。掛鉤/opt/elasticbeanstalk/hooks/appdeploy/pre/10_bundle_install.sh失敗。有關更多詳細信息,請使用控制檯或EB CLI檢查/var/log/eb-activity.log。

+0

nokogiri有時是這樣的痛苦。你真的需要嘗試像它表明的那樣安裝它。爲您的EB env打開SSH。然後手動運行gem install。很可能會出現錯誤信息。採取該錯誤消息和谷歌。你可能需要做一些事情,像http://stackoverflow.com/questions/25963315/nokogiri-installation-failes-on-elastic-beanstalk –

回答

0

您有兩個選項來解決此問題:

1)添加到patch.ebextensions/packages.config這樣的:

packages: 
    yum: 
    patch: [] 

這將使yum包管理器試圖bundle install之前安裝它。

2)添加一個命令config來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版本(Passenger)。有上面的錯誤。

我終止了環境並重新創建了它,但選擇了我在開發環境中使用的ruby 2.2(Puma)。 AWS環境創建時沒有任何錯誤。

雖然上面的糾正措施解決了這一問題,它沒有解釋爲什麼創建Ruby 2.3(乘客)的環境尤其是失敗,因爲我做了排序「罐頭」構建的 - 使用「示例應用程序環境的創造是通過AWS控制檯「在配置中。我做了而不是嘗試通過eb命令行創建它,或使用我的任何elasticbeanstalk腳本或部署我自己的應用程序。