错误部署rails app aws弹性beanstalk

时间:2016-10-22 17:16:00

标签: ruby-on-rails amazon-web-services amazon-elastic-beanstalk

我正在使用rails 5.00 尝试部署到aws时,我一直收到此错误

  

[实例:i-04fd37ed6913c4a8a]命令在实例上失败。返回   代码:5输出:(TRUNCATED)... ng uglifier 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检查/var/log/eb-activity.log   CLI。

2 个答案:

答案 0 :(得分:0)

您有两种方法可以解决您的问题:

1)将n添加到patch,如下所示:

.ebextensions/packages.config

这会使packages: yum: patch: [] 软件包管理器在尝试yum之前安装它。

2)将命令配置添加到bundle install,如下所示:

.ebextensions/nokogiri_command.config

这两个选项中的任何一个对我有用。在推送到AWS之前不要忘记提交。

答案 1 :(得分:0)

我遇到了同样的错误"确保gem安装nokogiri -v' 1.6.8'在捆绑之前成功。"

这是因为我没有为ruby选择正确的部署版本。 最初在创建环境时,我将ruby平台保留为默认版本,恰好是版本2.3(Passenger)。得到了上述错误。

我终止了环境并重新创建了它,但选择了我在开发环境中使用的ruby 2.2(Puma)。 创建AWS环境时没有任何错误。

尽管上述纠正措施解决了这个问题,但它并没有解释为什么创建一个红宝石2.3(乘客)环境失败,特别是因为我做了一个" canned"构建 - 环境创建是通过AWS控制台使用"示例应用程序"在配置中。我做了尝试通过eb命令行创建它或使用我的任何elasticbeanstalk脚本或部署我自己的应用程序。