2016-07-29 15 views
0

ich meine database.yml aktualisiert dieseKönnen Bereitstellen von Rails App zu Heroku, Gem Fehler (SQLite3 und Gem Mutter Extension)

development: 
    adapter: sqlite3 
    database: db/development.sqlite3 
    pool: 5 
    timeout: 5000 

test: 
    adapter: sqlite3 
    database: db/test.sqlite3 
    pool: 5 
    timeout: 5000 

production: 
    adapter: postgresql 
    database: treebook 
    pool: 5 
    timeout: 5000 

ich auch mein Juwel-Datei hinzufügen, diese Blöcke aktualisiert und gem'pg'

hinzufügen
group :development do 
    gem 'sqlite3' 
end 

group :production do 
    gem 'pg' 
end 

Ran 'gem install bundler'

Dann war verzweifelt und versuchte sogar eine weitere Iteration nach dem Entfernen von SQLite und nur mit PG, aber das hat auch nicht funktioniert.

All dies, und ich bin immer noch nicht ... Notizen aus dem Terminal zu implementieren (siehe unten):

$ git push heroku master 
Counting objects: 180, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (169/169), done. 
Writing objects: 100% (180/180), 38.52 MiB | 587.00 KiB/s, done. 
Total 180 (delta 16), reused 0 (delta 0) 
remote: Compressing source files... done. 
remote: Building source: 
remote: 
remote: -----> Ruby app detected 
remote: -----> Compiling Ruby/Rails 
remote: -----> Using Ruby version: ruby-2.2.4 
remote: -----> Installing dependencies using bundler 1.11.2 
remote:  Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment 
remote:  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`. 
remote:  Fetching gem metadata from https://rubygems.org/........... 
remote:  Fetching version metadata from https://rubygems.org/... 
remote:  Fetching dependency metadata from https://rubygems.org/.. 
remote:  Installing json 1.8.3 with native extensions 
remote:  Installing i18n 0.7.0 
remote:  Installing rake 11.2.2 
remote:  Installing minitest 5.9.0 
remote:  Installing thread_safe 0.3.5 
remote:  Installing builder 3.2.2 
remote:  Installing erubis 2.7.0 
remote:  Installing mini_portile2 2.1.0 
remote:  Installing pkg-config 1.1.7 
remote:  Installing rack 1.6.4 
remote:  Installing mime-types-data 3.2016.0521 
remote:  Installing arel 6.0.3 
remote:  Installing coffee-script-source 1.10.0 
remote:  Installing execjs 2.7.0 
remote:  Installing thor 0.19.1 
remote:  Using bundler 1.11.2 
remote:  Installing concurrent-ruby 1.0.2 
remote:  Installing multi_json 1.12.1 
remote:  Installing sass 3.4.22 
remote:  Installing tilt 2.0.5 
remote:  Installing sqlite3 1.3.11 with native extensions 
remote:  Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 
remote:  /tmp/build_4e6586368c7df1ddb844833429e54761/vendor/ruby-2.2.4/bin/ruby -r ./siteconf20160729-222-1rjile5.rb extconf.rb 
remote:  checking for sqlite3.h... no 
remote:  sqlite3.h is missing. Try 'port install sqlite3 +universal', 
remote:  'yum install sqlite-devel' or 'apt-get install libsqlite3-dev' 
remote:  and check your shared library search path (the 
remote:  location where your sqlite3 shared library is located). 
remote:  *** extconf.rb failed *** 
remote:  Could not create Makefile due to some reason, probably lack of necessary 
remote:  libraries and/or headers. Check the mkmf.log file for more details. You may 
remote:  need configuration options. 
remote:  Provided configuration options: 
remote:  --with-opt-dir 
remote:  --without-opt-dir 
remote:  --with-opt-include 
remote:  --without-opt-include=${opt-dir}/include 
remote:  --with-opt-lib 
remote:  --without-opt-lib=${opt-dir}/lib 
remote:  --with-make-prog 
remote:  --without-make-prog 
remote:  --srcdir=. 
remote:  --curdir 
remote:  --ruby=/tmp/build_4e6586368c7df1ddb844833429e54761/vendor/ruby-2.2.4/bin/$(RUBY_BASE_NAME) 
remote:  --with-sqlite3-dir 
remote:  --without-sqlite3-dir 
remote:  --with-sqlite3-include 
remote:  --without-sqlite3-include=${sqlite3-dir}/include 
remote:  --with-sqlite3-lib 
remote:  --without-sqlite3-lib=${sqlite3-dir}/lib 
remote:  extconf failed, exit code 1 
remote:  Gem files will remain installed in /tmp/build_4e6586368c7df1ddb844833429e54761/vendor/bundle/ruby/2.2.0/gems/sqlite3-1.3.11 for inspection. 
remote:  Results logged to /tmp/build_4e6586368c7df1ddb844833429e54761/vendor/bundle/ruby/2.2.0/extensions/x86_64-linux/2.2.0-static/sqlite3-1.3.11/gem_make.out 
remote:  Installing turbolinks-source 5.0.0 
remote:  Installing tzinfo 1.2.2 
remote:  Installing mime-types 3.1 
remote:  Installing rdoc 4.2.2 
remote:  Installing nokogiri 1.6.8 with native extensions 
remote:  Installing rack-test 0.6.3 
remote:  Installing coffee-script 2.4.1 
remote:  Installing uglifier 3.0.0 
remote:  Installing sprockets 3.6.2 
remote:  An error occurred while installing sqlite3 (1.3.11), and Bundler cannot 
remote:  continue. 
remote:  Make sure that `gem install sqlite3 -v '1.3.11'` succeeds before bundling. 
remote:  Bundler Output: 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`. 
remote:  Fetching gem metadata from https://rubygems.org/........... 
remote:  Fetching version metadata from https://rubygems.org/... 
remote:  Fetching dependency metadata from https://rubygems.org/.. 
remote:  Installing json 1.8.3 with native extensions 
remote:  Installing i18n 0.7.0 
remote:  Installing rake 11.2.2 
remote:  Installing minitest 5.9.0 
remote:  Installing thread_safe 0.3.5 
remote:  Installing builder 3.2.2 
remote:  Installing erubis 2.7.0 
remote:  Installing mini_portile2 2.1.0 
remote:  Installing pkg-config 1.1.7 
remote:  Installing rack 1.6.4 
remote:  Installing mime-types-data 3.2016.0521 
remote:  Installing arel 6.0.3 
remote:  Installing coffee-script-source 1.10.0 
remote:  Installing execjs 2.7.0 
remote:  Installing thor 0.19.1 
remote:  Using bundler 1.11.2 
remote:  Installing concurrent-ruby 1.0.2 
remote:  Installing multi_json 1.12.1 
remote:  Installing sass 3.4.22 
remote:  Installing tilt 2.0.5 
remote:  Installing sqlite3 1.3.11 with native extensions 
remote:   
remote:  Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 
remote:   
remote:  /tmp/build_4e6586368c7df1ddb844833429e54761/vendor/ruby-2.2.4/bin/ruby -r ./siteconf20160729-222-1rjile5.rb extconf.rb 
remote:  checking for sqlite3.h... no 
remote:  sqlite3.h is missing. Try 'port install sqlite3 +universal', 
remote:  'yum install sqlite-devel' or 'apt-get install libsqlite3-dev' 
remote:  and check your shared library search path (the 
remote:  location where your sqlite3 shared library is located). 
remote:  *** extconf.rb failed *** 
remote:  Could not create Makefile due to some reason, probably lack of necessary 
remote:  libraries and/or headers. Check the mkmf.log file for more details. You may 
remote:  need configuration options. 
remote:   
remote:  Provided configuration options: 
remote:  --with-opt-dir 
remote:  --without-opt-dir 
remote:  --with-opt-include 
remote:  --without-opt-include=${opt-dir}/include 
remote:  --with-opt-lib 
remote:  --without-opt-lib=${opt-dir}/lib 
remote:  --with-make-prog 
remote:  --without-make-prog 
remote:  --srcdir=. 
remote:  --curdir 
remote:  --ruby=/tmp/build_4e6586368c7df1ddb844833429e54761/vendor/ruby-2.2.4/bin/$(RUBY_BASE_NAME) 
remote:  --with-sqlite3-dir 
remote:  --without-sqlite3-dir 
remote:  --with-sqlite3-include 
remote:  --without-sqlite3-include=${sqlite3-dir}/include 
remote:  --with-sqlite3-lib 
remote:  --without-sqlite3-lib=${sqlite3-dir}/lib 
remote:   
remote:  extconf failed, exit code 1 
remote:   
remote:  Gem files will remain installed in /tmp/build_4e6586368c7df1ddb844833429e54761/vendor/bundle/ruby/2.2.0/gems/sqlite3-1.3.11 for inspection. 
remote:  Results logged to /tmp/build_4e6586368c7df1ddb844833429e54761/vendor/bundle/ruby/2.2.0/extensions/x86_64-linux/2.2.0-static/sqlite3-1.3.11/gem_make.out 
remote:  Installing turbolinks-source 5.0.0 
remote:  Installing tzinfo 1.2.2 
remote:  Installing mime-types 3.1 
remote:  Installing rdoc 4.2.2 
remote:  Installing nokogiri 1.6.8 with native extensions 
remote:  Installing rack-test 0.6.3 
remote:  Installing coffee-script 2.4.1 
remote:  Installing uglifier 3.0.0 
remote:  Installing sprockets 3.6.2 
remote:  An error occurred while installing sqlite3 (1.3.11), and Bundler cannot 
remote:  continue. 
remote:  Make sure that `gem install sqlite3 -v '1.3.11'` succeeds before bundling. 
remote: ! 
remote: !  Failed to install gems via Bundler. 
remote: !  
remote: !  Detected sqlite3 gem which is not supported on Heroku. 
remote: !  https://devcenter.heroku.com/articles/sqlite3 
remote: ! 
remote: !  Push rejected, failed to compile Ruby app. 
remote: 
remote: !  Push failed 
remote: Verifying deploy... 
remote: 
remote: !  Push rejected to fast-meadow-50982. 
remote: 
To https://git.heroku.com/fast-meadow-50982.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to 'https://git.heroku.com/fast-meadow-50982.git' 
+0

Ich würde dringend empfehlen, PostgreSQL in Ihrer Entwicklungsumgebung zu installieren, wenn Sie PostgreSQL bereitstellen möchten. Ihre Entwicklungs-, Test- und Produktionsumgebungen sollten denselben Stapel verwenden. Kein ORM schützt Ihre Datenbank vor Unterschieden. –

Antwort

0

sollten Sie bundle install lokal tun, begehen und dann zu Heroku schieben.
gem install bundler installiert keine Abhängigkeiten von Gemfile.
Es installiert nur bundler selbst.

Haben Sie this gelesen?

+0

Also, ich folgte dem Rat, den Sie aufgelistet und verlinkt (Danke, übrigens!), Aber jetzt wirft es einen anderen Fehler: "Keine Standardsprache konnte für diese App gefunden werden" Ich habe diesen Befehl im Terminal verwendet heroku erstellen --buildpack https://github.com/heroku/heroku- buildpack-ruby.git Aber es immer noch den gleichen Fehlercode zu werfen ... –

+0

Wurde das Buildpack tatsächlich festgelegt? Sie können es sehen, indem Sie 'heroku buildpack' ausführen. Bitte beachten Sie, dass die eigentliche Dokumentation [sagt] (https://devcenter.heroku.com/articles/buildpacks#setting-a-buildpack-on-an-application), die Sie benötigen, "heroku buildpacks: set-buildpack-name" ausführen muss um Buildpack für eine bestehende Anwendung zu setzen. – Aleksey

+0

Das buildpack hat es gesetzt, aber ich habe es trotzdem wieder hergestellt, mit dem Befehl, den du mir zur Verfügung gestellt hastx aber aus irgendeinem Grund, lässt es mich immer noch mit "Fehler beim Erkennen des Buildpack ... Erkennungsfehlers":/danke dafür Ich, Aleksey –

Verwandte Themen