2016-08-01 10 views
0

Heroku hält meine Schübe mit diesem Fehler zurückgewiesen:Heroku Ablehnung meine git push aufgrund SQLite3

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. 

Ich weiß, das ist ein häufiges Problem (ich in anderen Threads ausgesehen haben) Ich habe versucht, das Entfernen der sqlite3 Juwel aus Mein Gemfile, ich habe ein Bundle installiert und dafür gesorgt, dass das sqlite3 gem auch aus meinem Gemfile.lock stammt (; was es war).
Ich habe auch alle Referenzen zu befreien von meinem database.yml Sqlite3 und ersetzte sie mit Postgres:

# 
default: &default 
    adapter: postgresql 
    encoding: unicode 
    database: store_development 
    pool: 5 
    timeout: 5000 

development: 
    adapter: postgresql 
    encoding: unicode 
    database: store_development 

# Warning: The database defined as "test" will be erased and 
# re-generated from your development database when you run "rake". 
# Do not set this db to the same as development or production. 
test: 
    adapter: postgresql 
    encoding: unicode 
    database: store_test 

production: 
    adapter: postgresql 
    encoding: unicode 
    database: store_development 

ich irgendwelche Vorschläge bin verloren?

Hier ist meine gemfile:

Quelle 'https://rubygems.org'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 
gem 'rails', '4.2.5.1' 
# Use SCSS for stylesheets 
gem 'sass-rails', '~> 5.0' 
# Use Uglifier as compressor for JavaScript assets 
gem 'uglifier', '>= 1.3.0' 
# Use CoffeeScript for .coffee assets and views 
gem 'coffee-rails', '~> 4.1.0' 
#bcrypt for for encrpytion 
gem 'bcrypt', '~> 3.1', '>= 3.1.11' 
#byebug 
gem 'byebug', '~> 9.0', '>= 9.0.5' 
# Use jquery as the JavaScript library 
gem 'jquery-rails' 
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks 
gem 'turbolinks' 
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder 
gem 'jbuilder', '~> 2.0' 
# bundle exec rake doc:rails generates the API under doc/api. 
gem 'sdoc', '~> 0.4.0', group: :doc 
#paperclip for easy upload management 
gem 'paperclip', '~> 4.3', '>= 4.3.6' 
#bootstrap-sass 
gem 'bootstrap-sass', '~> 3.3', '>= 3.3.6' 
#searchkick 
gem 'searchkick', '~> 1.2', '>= 1.2.1' 
#paginate 
gem 'will_paginate', '~> 3.1' 
#paginate for bootstrap 
gem 'bootstrap-will_paginate', '~> 0.0.10' 
#Carrierwave 
#gem 'carrierwave' 
#Cloudinary 
#gem 'cloudinary' 
#Paperclip forcloudinary 
gem 'paperclip-cloudinary' 
#elasticsearch stuff 
gem 'elasticsearch-rails' 
gem 'elasticsearch-model' 
#bonsi 
gem 'bonsai-elasticsearch-rails', '~> 0.0.4' 



group :development, :test do 


end 

group :development do 
    # Access an IRB console on exception pages or by using <%= console %> in views 
    gem 'web-console', '~> 2.0' 
    # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring 
    gem 'spring' 
    #db stuff 
    gem 'sqlite3' 



end 
group :production do 
    gem 'rails_12factor' 
    gem 'puma', '~> 3.4' 
    #postgresql 
    gem 'pg' 
end 

ich auch die ganze Heroku Ablehnung als Referenz nur enthalten werden:

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:  Using i18n 0.7.0 
remote:  Using rake 11.1.2 
remote:  Using json 1.8.3 
remote:  Using minitest 5.8.4 
remote:  Using thread_safe 0.3.5 
remote:  Using builder 3.2.2 
remote:  Using erubis 2.7.0 
remote:  Using mini_portile2 2.0.0 
remote:  Using rack 1.6.4 
remote:  Using mime-types-data 3.2016.0221 
remote:  Using arel 6.0.3 
remote:  Using execjs 2.6.0 
remote:  Using aws_cf_signer 0.1.3 
remote:  Using bcrypt 3.1.11 
remote:  Using bonsai-elasticsearch-rails 0.0.4 
remote:  Using sass 3.4.22 
remote:  Using will_paginate 3.1.0 
remote:  Using coffee-script-source 1.10.0 
remote:  Using thor 0.19.1 
remote:  Using concurrent-ruby 1.0.1 
remote:  Using orm_adapter 0.5.0 
remote:  Using multi_json 1.11.2 
remote:  Using multipart-post 2.0.0 
remote:  Using hashie 3.4.3 
remote:  Using elasticsearch-rails 0.1.9 
remote:  Using mimemagic 0.3.0 
remote:  Using pg 0.18.4 
remote:  Using bundler 1.11.2 
remote:  Using rails_serve_static_assets 0.0.5 
remote:  Using rails_stdout_logging 0.0.5 
remote:  Using tilt 2.0.2 
remote:  Using rdoc 4.2.2 
remote:  Using tzinfo 1.2.2 
remote:  Using nokogiri 1.6.7.2 
remote:  Using mime-types 3.0 
remote:  Using autoprefixer-rails 6.3.6 
remote:  Using uglifier 3.0.0 
remote:  Using rack-test 0.6.3 
remote:  Using warden 1.2.6 
remote:  Using bootstrap-will_paginate 0.0.10 
remote:  Using coffee-script 2.4.1 
remote:  Using sprockets 3.6.0 
remote:  Using elasticsearch-api 1.0.17 
remote:  Using faraday 0.9.2 
remote:  Using rails_12factor 0.0.3 
remote:  Using sdoc 0.4.1 
remote:  Using activesupport 4.2.5.1 
remote:  Using loofah 2.0.3 
remote:  Using mail 2.6.4 
remote:  Using rest-client 1.6.7 
remote:  Using bootstrap-sass 3.3.6 
remote:  Using elasticsearch-transport 1.0.17 
remote:  Using rails-deprecated_sanitizer 1.0.3 
remote:  Using globalid 0.3.6 
remote:  Using activemodel 4.2.5.1 
remote:  Using climate_control 0.0.3 
remote:  Using jbuilder 2.4.1 
remote:  Using rails-html-sanitizer 1.0.3 
remote:  Using cloudinary 1.2.0 
remote:  Using rails-dom-testing 1.0.7 
remote:  Using elasticsearch 1.0.17 
remote:  Using activejob 4.2.5.1 
remote:  Using cocaine 0.5.8 
remote:  Using paperclip-cloudinary 1.1.0 
remote:  Using actionview 4.2.5.1 
remote:  Using elasticsearch-model 0.1.9 
remote:  Using activerecord 4.2.5.1 
remote:  Using searchkick 1.2.1 
remote:  Using paperclip 4.3.6 
remote:  Using actionpack 4.2.5.1 
remote:  Using actionmailer 4.2.5.1 
remote:  Using railties 4.2.5.1 
remote:  Using sprockets-rails 3.0.4 
remote:  Using coffee-rails 4.1.1 
remote:  Using responders 2.1.2 
remote:  Using jquery-rails 4.1.1 
remote:  Using rails 4.2.5.1 
remote:  Using sass-rails 5.0.4 
remote:  Using turbolinks 2.5.3 
remote:  Using devise 4.0.0 
remote:  Installing sqlite3 1.3.11 with native extensions 
remote:  Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 
remote:  /tmp/build_650c9daea9707f0830f7e2ecbfc558e2/vendor/ruby-2.2.4/bin/ruby -r ./siteconf20160801-197-lz2bsz.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_650c9daea9707f0830f7e2ecbfc558e2/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_650c9daea9707f0830f7e2ecbfc558e2/vendor/bundle/ruby/2.2.0/gems/sqlite3-1.3.11 for inspection. 
remote:  Results logged to /tmp/build_650c9daea9707f0830f7e2ecbfc558e2/vendor/bundle/ruby/2.2.0/extensions/x86_64-linux/2.2.0-static/sqlite3-1.3.11/gem_make.out 
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:  Using i18n 0.7.0 
remote:  Using rake 11.1.2 
remote:  Using json 1.8.3 
remote:  Using minitest 5.8.4 
remote:  Using thread_safe 0.3.5 
remote:  Using builder 3.2.2 
remote:  Using erubis 2.7.0 
remote:  Using mini_portile2 2.0.0 
remote:  Using rack 1.6.4 
remote:  Using mime-types-data 3.2016.0221 
remote:  Using arel 6.0.3 
remote:  Using execjs 2.6.0 
remote:  Using aws_cf_signer 0.1.3 
remote:  Using bcrypt 3.1.11 
remote:  Using bonsai-elasticsearch-rails 0.0.4 
remote:  Using sass 3.4.22 
remote:  Using will_paginate 3.1.0 
remote:  Using coffee-script-source 1.10.0 
remote:  Using thor 0.19.1 
remote:  Using concurrent-ruby 1.0.1 
remote:  Using orm_adapter 0.5.0 
remote:  Using multi_json 1.11.2 
remote:  Using multipart-post 2.0.0 
remote:  Using hashie 3.4.3 
remote:  Using elasticsearch-rails 0.1.9 
remote:  Using mimemagic 0.3.0 
remote:  Using pg 0.18.4 
remote:  Using bundler 1.11.2 
remote:  Using rails_serve_static_assets 0.0.5 
remote:  Using rails_stdout_logging 0.0.5 
remote:  Using tilt 2.0.2 
remote:  Using rdoc 4.2.2 
remote:  Using tzinfo 1.2.2 
remote:  Using nokogiri 1.6.7.2 
remote:  Using mime-types 3.0 
remote:  Using autoprefixer-rails 6.3.6 
remote:  Using uglifier 3.0.0 
remote:  Using rack-test 0.6.3 
remote:  Using warden 1.2.6 
remote:  Using bootstrap-will_paginate 0.0.10 
remote:  Using coffee-script 2.4.1 
remote:  Using sprockets 3.6.0 
remote:  Using elasticsearch-api 1.0.17 
remote:  Using faraday 0.9.2 
remote:  Using rails_12factor 0.0.3 
remote:  Using sdoc 0.4.1 
remote:  Using activesupport 4.2.5.1 
remote:  Using loofah 2.0.3 
remote:  Using mail 2.6.4 
remote:  Using rest-client 1.6.7 
remote:  Using bootstrap-sass 3.3.6 
remote:  Using elasticsearch-transport 1.0.17 
remote:  Using rails-deprecated_sanitizer 1.0.3 
remote:  Using globalid 0.3.6 
remote:  Using activemodel 4.2.5.1 
remote:  Using climate_control 0.0.3 
remote:  Using jbuilder 2.4.1 
remote:  Using rails-html-sanitizer 1.0.3 
remote:  Using cloudinary 1.2.0 
remote:  Using rails-dom-testing 1.0.7 
remote:  Using elasticsearch 1.0.17 
remote:  Using activejob 4.2.5.1 
remote:  Using cocaine 0.5.8 
remote:  Using paperclip-cloudinary 1.1.0 
remote:  Using actionview 4.2.5.1 
remote:  Using elasticsearch-model 0.1.9 
remote:  Using activerecord 4.2.5.1 
remote:  Using searchkick 1.2.1 
remote:  Using paperclip 4.3.6 
remote:  Using actionpack 4.2.5.1 
remote:  Using actionmailer 4.2.5.1 
remote:  Using railties 4.2.5.1 
remote:  Using sprockets-rails 3.0.4 
remote:  Using coffee-rails 4.1.1 
remote:  Using responders 2.1.2 
remote:  Using jquery-rails 4.1.1 
remote:  Using rails 4.2.5.1 
remote:  Using sass-rails 5.0.4 
remote:  Using turbolinks 2.5.3 
remote:  Using devise 4.0.0 
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_650c9daea9707f0830f7e2ecbfc558e2/vendor/ruby-2.2.4/bin/ruby -r ./siteconf20160801-197-lz2bsz.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_650c9daea9707f0830f7e2ecbfc558e2/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_650c9daea9707f0830f7e2ecbfc558e2/vendor/bundle/ruby/2.2.0/gems/sqlite3-1.3.11 for inspection. 
remote:  Results logged to /tmp/build_650c9daea9707f0830f7e2ecbfc558e2/vendor/bundle/ruby/2.2.0/extensions/x86_64-linux/2.2.0-static/sqlite3-1.3.11/gem_make.out 
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 professor-ratings. 
remote: 

das Problem mit der sein könnte Konfiguration erstellen? Wie kann ich das ändern?

+0

Können Sie bitte Ihre Gemfile zeigen? Versuchen Sie zuerst, Gemfile.lock zu löschen, dann bündeln und committen. Ich hatte Probleme mit dem Frühling, weil es nicht nur auf Entwicklung ging. –

+0

Zeigt jetzt gemfile. – tfantina

+0

Sie haben versucht, Datei Gemfile.lock zuerst zu löschen, dann bündeln Sie dann die Sperrdatei ...? Recht? –

Antwort

2

Mit Sqlite3 in Entwicklung ist in Ordnung, Heroku braucht nur PG für die Produktion, Ihre gemfile etwas sollte wie folgt aussehen:

group :development, :test do 
    gem 'sqlite3' 
end 

group :production do 
    gem 'pg' 
end 

Möglicherweise müssen Sie Ihre Datenbank (Schienen db zurücksetzen: Reset/rake db: reset abhängig von der Schienenversion). Dann können Sie einfach Bundle-Installation - ohne Produktion

+0

Meine gemfile sieht aus wie Sie vorgeschlagen, ich habe ein Bundle installiert und bekomme immer noch die gleiche Fehlermeldung. Ich habe sogar eine db: reset gemacht. – tfantina

+0

Verschieben Sie den Edelstein 'sqlite3' in die Gruppe: Entwicklung,: Testabschnitt, dann Lauf: 'heroku config: set BUNDLE_WITHOUT =" Entwicklung: Test "' dann Bundle installieren und versuchen, Push to Heroku Master. – Rixcy

+0

Immer noch den gleichen Fehler :(Ich fummle weiter damit, sieht meine Datenbank.yml ok? Würde das irgendwelche Probleme verursachen? – tfantina

0
remote: !  Detected sqlite3 gem which is not supported on Heroku. 
remote: !  https://devcenter.heroku.com/articles/sqlite3 

Log es selbst sagen sqlite3 wird nicht standardmäßig auf Heroku unterstützt. Standardmäßig verwendet Heroku die postgres Datenbank.

Stellen Sie sicher, dass Ihre Gemfile enthält gem 'pg' in production group und versuchen Sie es erneut, es wird sicherlich funktionieren.

Wenn Sie sqlite3 auf developmet verwenden, dann müssen Sie Code tun, wie unten in Ihrem Gemfile

#Gemfile 
gem 'sqlite3', group: [:development, :test] 
gem 'pg', group: :production 
0

Zum einen stellt sicher, dass Sie die folgenden Edelsteine ​​sicher

group :development, :test do 
    gem 'sqlite3' 
end 

group :production do 
    gem 'pg' 
end 

nächstes machen hinzugefügt haben Sie run bundle intsall

Jetzt schieben Sie Ihre App zu Github git push origin master

Jetzt Ihr bereit, es in die Produktion git push heroku master

zu drücken, nachdem Sie Sie bündeln installieren müssen sicherstellen, dass Sie Ihre Anwendung zuerst auf GitHub geschoben (Ihr mit Github vorausgesetzt) ​​

0

Wie sie sagten, Sie ersetzen müssen der Edelstein, jedoch gem pg wird nicht auf Windows arbeiten, weil die neueste Version fehlerhaft ist. Du musst also drei Dinge tun, um Heroku richtig zu drücken. 1- diese beiden Edelsteine, um Ihre gemfile hinzufügen

group :production do 
gem 'pg','~>0.19.0.pre20160409114042' 
gem 'rails_12factor' 

die Gruppe nur, wenn Sie pg im Produktionsmodus

bundle install 

so stellen Sie sicher, dass alles in erster Linie dann natürlich laufen halten wollen, ist in Ordnung von den Server laufen wieder alle Edelsteine ​​in Ordnung sind wir nun zum nächsten Schritt bewegen 2- sicherstellen, dass Sie auf dem richtigen Heroku sind und Sie sind offensichtlich, aber hier ist das ein schöner Trick können Sie

tun
rake assets:precompile 

um sicherzustellen, dass alle Ihre Vermögenswerte werden zusammengestellt und bereit, den normalen git Prozedur dann tun

git add . 
git commit -am"latest or whatever you feel like" 

3- nicht zuletzt Push-to-Heroku den richtigen Weg

git push heroku master 

Sie zu Heroku geschoben, aber Ihre Datenbank lief nicht auf heroku rechts

heroku run rails db:migrate 

So jetzt sollte es alles gut zu gehen sein.

Wenn es immer noch nicht in Ordnung ist, bitte sagen Sie uns. Hoffnung, die

+0

Danke für deine Hilfe, leider hat das bei mir nicht funktioniert. Ich tat dies und ich bekomme immer noch genau den gleichen Fehler: 'extconf failed, Exit Code 1 Gem Dateien bleiben installiert in ... ... zur Überprüfung. Ergebnisse protokolliert in ... ... Bei der Installation von sqlite3 (1.3.11) und Bundler ist ein Fehler aufgetreten Vergewissern Sie sich, dass das Juwel sqlite3 -v '1.3.11' installiert ist, bevor es gebündelt wird. Fehlgeschlagen, Edelsteine ​​über Bundler zu installieren. Erkanntes sqlite3-Juwel, das auf Heroku nicht unterstützt wird. https://devcenter.heroku.com/articles/sqlite3 Push abgelehnt ... ' – tfantina

+0

Auch ich bin auf OSX, also weiß ich nicht, ob Postgres neueste Version die gleichen Probleme haben wird. – tfantina

+0

Hallo Kumpel, aber das bedeutet, dass Sie sqlite.try immer noch aus der gemfile entfernen und das Bundle erneut ausführen. Stellen Sie sicher, dass das Bundle ordnungsgemäß installiert wurde und das Gem installiert wurde. Ich denke, pg gem Version wird kein Problem machen, wenn Sie auf osx. Es ist immer eine gute Idee, auf PostgreSQL von Anfang an zu arbeiten, wenn Sie planen, auf Heroku zu implementieren. –

0

hilfreich, das ich hatte das gleiche Problem, erreiche ich FIXED

  1. Datei löschen "gemfile.lock"
  2. Move "Juwel 'sqlite3'" in der Entwicklungsgruppe.
  3. hinzufügen Produktionsgruppe Whit gem 'pg':

    group :production do 
        gem 'pg' 
    end 
    
  4. dann bündeln
  5. git add.
  6. In Konsole oder Befehl promt oder CMD laufen:

    Heroku config: set BUNDLE_WITHOUT = "Entwicklung: test"

  7. Dont begehen vergessen.
  8. Und dann, Heroku git push meistern

GO ERFOLG !!