3

Die nativen Edelsteine ​​werden nicht installiert, während ich versuche, die App in der AWS Elastic Beanstalk (EB) -Umgebung bereitzustellen.Das Installieren von Gems schlägt bei der Bereitstellung fehl - AWS Elastic Beanstalk

eb-activity.log

Don't run Bundler as root. Bundler can ask for sudo if it is needed, and 
    installing your bundle as root will break this application for all non-root 
    users on this machine. 
    Warning: the running version of Bundler is older than the version that created the lockfile. We suggest you upgrade to the latest version of Bundler by running `gem install bundler`. 
    fatal: Not a git repository (or any of the parent directories): .git 
    fatal: Not a git repository (or any of the parent directories): .git 
    Fetching gem metadata from https://rubygems.org/ 
    Fetching version metadata from https://rubygems.org/ 
    Fetching dependency metadata from https://rubygems.org/ 
    Resolving dependencies... 
    Installing rake 11.2.2 
    Installing i18n 0.7.0 
    Using json 1.8.3 
    Installing minitest 5.9.0 
    Installing thread_safe 0.3.5 
    Installing builder 3.2.2 
    Installing erubis 2.7.0 
    Installing mini_portile2 2.1.0 
    Installing pkg-config 1.1.7 
    Installing rack 1.6.4 
    Installing mime-types-data 3.2016.0521 
    Installing arel 6.0.3 
    Installing jmespath 1.3.1 
    Installing bcrypt 3.1.11 with native extensions 

    Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 

     current directory: /var/app/ondeck/gems/bundle/gems/bcrypt-3.1.11/ext/mri 
    /opt/rubies/ruby-2.3.1/bin/ruby -r ./siteconf20160916-26394-19gpiil.rb extconf.rb 
    Cannot allocate memory - /opt/rubies/ruby-2.3.1/bin/ruby -r ./siteconf20160916-26394-19gpiil.rb extconf.rb 2>&1 

    Gem files will remain installed in /var/app/ondeck/gems/bundle/gems/bcrypt-3.1.11 for inspection. 
    Results logged to /var/app/ondeck/gems/bundle/extensions/x86_64-linux/2.3.0-static/bcrypt-3.1.11/gem_make.out 
    Using bundler 1.12.1 
    Installing rubyzip 1.2.0 
    Installing coderay 1.1.1 
    Installing coffee-script-source 1.10.0 
    Installing execjs 2.7.0 
    Installing thor 0.18.1 
    Installing concurrent-ruby 1.0.2 
    Installing orm_adapter 0.5.0 
    Installing unf_ext 0.0.7.2 with native extensions 

    Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 

     current directory: /var/app/ondeck/gems/bundle/gems/unf_ext-0.0.7.2/ext/unf_ext 
    /opt/rubies/ruby-2.3.1/bin/ruby -r ./siteconf20160916-26394-1kl25wy.rb extconf.rb 
    Cannot allocate memory - /opt/rubies/ruby-2.3.1/bin/ruby -r ./siteconf20160916-26394-1kl25wy.rb extconf.rb 2>&1 

    Gem files will remain installed in /var/app/ondeck/gems/bundle/gems/unf_ext-0.0.7.2 for inspection. 
    Results logged to /var/app/ondeck/gems/bundle/extensions/x86_64-linux/2.3.0-static/unf_ext-0.0.7.2/gem_make.out 
    Installing hashie 3.4.4 
    Installing htmlentities 4.3.4 
    Installing multi_xml 0.5.5 
    Installing multi_json 1.12.1 
    Installing jwt 1.5.4 
    Installing method_source 0.8.2 
    Installing mimemagic 0.3.0 
    Installing mqtt 0.4.0 
    Installing netrc 0.11.0 
    Installing pg 0.18.4 with native extensions 

    Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 

     current directory: /var/app/ondeck/gems/bundle/gems/pg-0.18.4/ext 
    /opt/rubies/ruby-2.3.1/bin/ruby -r ./siteconf20160916-26394-4s0qe7.rb extconf.rb 
    Cannot allocate memory - /opt/rubies/ruby-2.3.1/bin/ruby -r ./siteconf20160916-26394-4s0qe7.rb extconf.rb 2>&1 

    Gem files will remain installed in /var/app/ondeck/gems/bundle/gems/pg-0.18.4 for inspection. 
    Results logged to /var/app/ondeck/gems/bundle/extensions/x86_64-linux/2.3.0-static/pg-0.18.4/gem_make.out 
    Installing slop 3.6.0 
    Installing rack-cors 0.4.0 
    Installing sass 3.4.22 
    Installing tilt 2.0.5 
    Installing turbolinks-source 5.0.0 
    Installing will_paginate 3.1.0 
    Installing apipie-rails 0.3.6 
    Installing rdoc 4.2.2 
    Installing tzinfo 1.2.2 
    Installing nokogiri 1.6.8 with native extensions 

    Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 

     current directory: /var/app/ondeck/gems/bundle/gems/nokogiri-1.6.8/ext/nokogiri 
    /opt/rubies/ruby-2.3.1/bin/ruby -r ./siteconf20160916-26394-13djrm9.rb extconf.rb 
    Cannot allocate memory - /opt/rubies/ruby-2.3.1/bin/ruby -r ./siteconf20160916-26394-13djrm9.rb extconf.rb 2>&1 

    Gem files will remain installed in /var/app/ondeck/gems/bundle/gems/nokogiri-1.6.8 for inspection. 
    Results logged to /var/app/ondeck/gems/bundle/extensions/x86_64-linux/2.3.0-static/nokogiri-1.6.8/gem_make.out 
    Installing rack-test 0.6.3 
    Installing warden 1.2.6 
    Installing mime-types 3.1 
    Installing aws-sdk-core 2.6.1 
    An error occurred while installing bcrypt (3.1.11), and Bundler cannot continue. 
    Make sure that `gem install bcrypt -v '3.1.11'` succeeds before bundling. (Executor::NonZeroExitStatus) 

Ich habe versucht, die folgenden:

  1. Aktualisierung Bündler mit gem update bundler Befehl in EB /var/app/current Verzeichnis und das ist keine Verbesserungen.
  2. Entfernen gemfile.lock und bundle install in lokalen und im Einsatz aktualisiert gemfile.lock.

Derselbe obige Fehler tritt jedes Mal auf.

Ich verwende Schienen 4.2.4 mit Rubin 2.3 Version.

Bitte helfen Sie mir. Vielen Dank.

Antwort

5

Ich löste das Problem schließlich durch Zwischenspeichern des Edelsteins.

Ich lief bundle package in lokalen und es erstellt die Edelstein-Caches im Verzeichnis vendor/cache.

Während der Bereitstellung in AWS mit diesen zwischengespeicherten Edelsteinen versucht es nun, den zwischengespeicherten Edelstein zu verwenden, anstatt ihn zu installieren. Ich weiß nicht, ob es eine gute Übung ist, aber es hat mein Problem gelöst.

bekam ich diese Lösung aus dem Blog AWS: Locally Packaging Gem Dependencies for Ruby Applications in Elastic Beanstalk

Edit # 1: Kommentar @ sybind die in Antwort Hinzufügen

bundle package --allall :git references

enthalten wird Wenn es eine bessere Lösung ist, lassen Sie es Ich weiß es.

+2

Paket Paket --all wird alle enthalten: Git Referenzen – sybind

+0

@Synbind, Danke .. –

Verwandte Themen