Rails 弹性 Beanstalk 无法部署 -
Posted
技术标签:
【中文标题】Rails 弹性 Beanstalk 无法部署 -【英文标题】:Rails elastic Beanstalk cannot deploy - 【发布时间】:2017-04-04 09:08:28 【问题描述】:错误提示为 cannot allocate memory
,但大量谷歌搜索表明原生 gem 在 beanstalk 上存在问题。
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/opt/rubies/ruby-2.1.10/bin/ruby extconf.rb
Cannot allocate memory - /opt/rubies/ruby-2.1.10/bin/ruby extconf.rb 2>&1
Gem files will remain installed in /opt/rubies/ruby-2.1.10/lib/ruby/gems/2.1.0/gems/json-1.8.3 for inspection.
Results logged to /opt/rubies/ruby-2.1.10/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0-static/json-1.8.3/gem_make.out
有没有办法验证 beanstalk 可以安装这个 gem 没有问题?
【问题讨论】:
【参考方案1】:让构建系统打包所有依赖项占用的资源超出默认 EC2 实例的处理能力。
在 ElasticBeanstalk 部署期间增加 EC2 实例/交换文件的大小以解决此问题。
查看我之前的回复here
【讨论】:
【参考方案2】:您是否尝试在本地打包 Beanstalk 中的宝石? https://aws.amazon.com/blogs/devops/locally-packaging-gem-dependencies-for-ruby-applications-in-elastic-beanstalk/
【讨论】:
官方文档中没有提到本地打包。宁愿让构建系统打包所有依赖项。以上是关于Rails 弹性 Beanstalk 无法部署 -的主要内容,如果未能解决你的问题,请参考以下文章
升级弹性 beantalk 堆栈时,Rails 应用程序无法部署
rails部署成功,但Elastic Beanstalk返回522
AWS Elastic Beanstalk——rails 部署问题
为 Ruby on Rails 6 创建弹性 beanstalk 环境时遇到问题(rvm、rbenv、.ruby-version 问题)