Reputation: 660
I am trying to deploy a rails application to AWS elastic beanstalk. Every time I try to deploy I end up with this error message. I found one answer that said to increase the instance size to handle the memory exception but it has not worked for me. My project was originally deployed to a different AWS account with no problem but now that I am trying to switch accounts it is not working. Does anyone know a solution to this?
Installing json 1.8.3 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/opt/rubies/ruby-2.2.5/bin/ruby -r ./siteconf20160706-28984-2z7sxy.rb extconf.rb
Cannot allocate memory - /opt/rubies/ruby-2.2.5/bin/ruby -r ./siteconf20160706-28984-2z7sxy.rb extco
nf.rb 2>&1
Gem files will remain installed in /opt/rubies/ruby-2.2.5/lib/ruby/gems/2.2.0/gems/json-1.8.3 for in
spection.
Results logged to /opt/rubies/ruby-2.2.5/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/js
on-1.8.3/gem_make.out
Using minitest 5.9.0
Using thread_safe 0.3.5
Using builder 3.2.2
Using erubis 2.7.0
Using mini_portile2 2.1.0
Using pkg-config 1.1.7
Using rack 1.6.4
Using mime-types-data 3.2016.0521
Using arel 6.0.3
Using execjs 2.7.0
Installing bcrypt 3.1.10 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/opt/rubies/ruby-2.2.5/bin/ruby -r ./siteconf20160706-28984-omunxa.rb extconf.rb
Cannot allocate memory - /opt/rubies/ruby-2.2.5/bin/ruby -r ./siteconf20160706-28984-omunxa.rb extconf.rb 2>&1
Gem files will remain installed in /opt/rubies/ruby-2.2.5/lib/ruby/gems/2.2.0/gems/bcrypt-3.1.10 for inspection.
Results logged to /opt/rubies/ruby-2.2.5/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/bcrypt-3.1.10/gem_make.out
Using sass 3.4.22
Using coffee-script-source 1.10.0
Using thor 0.19.1
Using concurrent-ruby 1.0.2
Using multi_json 1.12.1
Installing puma 3.4.0 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/opt/rubies/ruby-2.2.5/bin/ruby -r ./siteconf20160706-28984-tifyar.rb extconf.rb
Cannot allocate memory - /opt/rubies/ruby-2.2.5/bin/ruby -r ./siteconf20160706-28984-tifyar.rb extconf.rb 2>&1
Gem files will remain installed in /opt/rubies/ruby-2.2.5/lib/ruby/gems/2.2.0/gems/puma-3.4.0 for inspection.
Results logged to /opt/rubies/ruby-2.2.5/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/puma-3.4.0/gem_make.out
Using bundler 1.12.1
Using tilt 2.0.5
Installing sqlite3 1.3.11 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/opt/rubies/ruby-2.2.5/bin/ruby -r ./siteconf20160706-28984-2xtic2.rb extconf.rb
Cannot allocate memory - /opt/rubies/ruby-2.2.5/bin/ruby -r ./siteconf20160706-28984-2xtic2.rb extconf.rb 2>&1
Gem files will remain installed in /opt/rubies/ruby-2.2.5/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.11 for inspection.
Results logged to /opt/rubies/ruby-2.2.5/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/sqlite3-1.3.11/gem_make.out
An error occurred while installing json (1.8.3), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.3'` succeeds before bundling. (Executor::NonZeroExitStatus)
UPDATE
I was able to successfully deploy this project to the originally aws account it was on but still cannot deploy it on the account I want
Upvotes: 4
Views: 1068
Reputation: 337
You can solve this problem two way.
1) Create ebextension file and type below options
option_settings:
- option_name: BUNDLE_DISABLE_SHARED_GEMS
value: "1"
- option_name: BUNDLE_PATH
value: "vendor/bundle"
2) Connect to your server using ssh, goto /var/app/current and type bundle install command and try deploy your application.
Upvotes: -1
Reputation: 4125
that error happens because you server is out of RAM memory. you can go to your server, find what is leaking memory and kill it, add a little of swap or try to intall the gem manually or dependencies because the deploy proccess consume more memory.
Upvotes: 2