gpt4 book ai didi

ruby-on-rails - AWS Elastic Beanstalk Rails Bundler 失败

转载 作者:行者123 更新时间:2023-12-04 06:27:11 28 4
gpt4 key购买 nike

我正在使用 eb CLI 在 AWS 上安装我的 rails 应用程序。我之前已经进行了测试,但现在我正在尝试部署我编写的一些实际代码。当我执行 git aws.push 时,更新失败。 “eb logs”命令显示 bundler 失败。

我在运行 Ruby 2.1 (Puma) 的 64 位 Amazon Linux 2014.03 v1.0.0 上运行它

Fetching source index from https://rubygems.org/
Using rake (10.3.2)
Using i18n (0.6.11)
Using minitest (4.7.5)
Using multi_json (1.10.1)
Using thread_safe (0.3.4)
Using tzinfo (0.3.41)
Using activesupport (4.0.8)
Using builder (3.1.4)
Using erubis (2.7.0)
Using rack (1.5.2)
Using rack-test (0.6.2)
Using actionpack (4.0.8)
Using mime-types (1.25.1)
Using polyglot (0.3.5)
Using treetop (1.4.15)
Using mail (2.5.4)
Using actionmailer (4.0.8)
Using activemodel (4.0.8)
Using active_model_serializers (0.9.0)
Using activerecord-deprecated_finders (1.0.3)
Using arel (4.0.2)
Using activerecord (4.0.8)
Using addressable (2.3.6)
Using execjs (2.2.1)
Using autoprefixer-rails (3.0.1.20140826)
Installing bcrypt (3.1.7)
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

/opt/rubies/ruby-2.1.2/bin/ruby extconf.rb
Cannot allocate memory - /opt/rubies/ruby-2.1.2/bin/ruby extconf.rb 2>&1

Gem files will remain installed in /opt/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/gems/bcrypt-3.1.7 for inspection.
Results logged to /opt/rubies/ruby-2.1.2/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0-static/bcrypt-3.1.7/gem_make.out
An error occurred while installing bcrypt (3.1.7), and Bundler cannot continue.
Make sure that `gem install bcrypt -v '3.1.7'` succeeds before bundling.

2014-09-03 00:22:36,561 [ERROR] (3331 MainThread) [directoryHooksExecutor.py-33] [root directoryHooksExecutor error] Script /opt/elasticbeanstalk/hooks/appdeploy/pre/10_bundle_install.sh failed with returncode 5

我也没有在我的 gem 文件中调用 bcrypt。一定是魔法 gem 的依赖。

我尝试将“bundle ”用于供应商/缓存技巧,但它一直说 AWS 上缺少一些 gem。正如你所知道的,我不仅对 Elastic Beanstalk /aws而且对rails也很陌生,所以我可能做错了。

此外,当我删除 gemfile.lock 中的 bcrypt 引用(我确信这会破坏某些东西)时,它稍后会在不同的 gem 上引发相同的错误 (ffi)。我敢肯定,如果我一次只解决一个 gem 的问题,它最终会抛出错误。

最佳答案

该错误实际上是由于运行make时实例内存不足引起的:

Cannot allocate memory - /opt/rubies/ruby-2.1.2/bin/ruby extconf.rb  2>&1

您很可能正在运行一个微型实例——将它增加到更大的实例大小,它应该能够可靠地构建。

Rohit 的回答是正确的,尽管缺少系统包通常是导致 gem 无法在 Elastic Beanstalk 中安装的原因。

关于ruby-on-rails - AWS Elastic Beanstalk Rails Bundler 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25634472/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com