我正在使用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。
答案 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脚本或部署我自己的应用程序。