HEROKU - cannot run git push heroku master [duplicate]

匿名 (未验证) 提交于 2019-12-03 08:57:35

问题:

This question already has an answer here:

I run commands

heroku create --stack cedar git push heroku master 

but it gave me an error:

> Counting objects: 144, done. Delta compression using up to 2 threads. > Compressing objects: 100% (128/128), done. Writing objects: 100% > (144/144), 50.16 KiB, done. Total 144 (delta 23), reused 0 (delta 0) >  > -----> Heroku receiving push > -----> Ruby/Rails app detected > -----> Installing dependencies using Bundler version 1.1.rc >        Running: bundle install --without development:test --path vendor/bundle --deployment >        Fetching gem metadata from http://rubygems.org/....... >        Installing rake (0.9.2.2) >        Installing multi_json (1.0.3) >        Installing activesupport (3.1.1) >        Installing builder (3.0.0) >        Installing i18n (0.6.0) >        Installing activemodel (3.1.1) >        Installing erubis (2.7.0) >        Installing rack (1.3.5) >        Installing rack-cache (1.1) >        Installing rack-mount (0.8.3) >        Installing rack-test (0.6.1) >        Installing hike (1.2.1) >        Installing tilt (1.3.3) >        Installing sprockets (2.0.3) >        Installing actionpack (3.1.1) >        Installing mime-types (1.17.2) >        Installing polyglot (0.3.2) >        Installing treetop (1.4.10) >        Installing mail (2.3.0) >        Installing actionmailer (3.1.1) >        Installing arel (2.2.1) >        Installing tzinfo (0.3.30) >        Installing activerecord (3.1.1) >        Installing activeresource (3.1.1) >        Installing coffee-script-source (1.1.2) >        Installing execjs (1.2.9) >        Installing coffee-script (2.2.0) >        Installing rack-ssl (1.3.2) >        Installing json (1.6.1) with native extensions >        Installing rdoc (3.11) >        Installing thor (0.14.6) >        Installing railties (3.1.1) >        Installing coffee-rails (3.1.1) >        Installing jquery-rails (1.0.16) >        Installing pg (0.11.0) with native extensions >        Using bundler (1.1.rc) >        Installing rails (3.1.1) >        Installing sass (3.1.10) >        Installing sass-rails (3.1.4) >        **Installing sqlite3 (1.3.4) with native extensions Unfortunately, a fatal error has occurred. Please report this error to > the Bundler issue tracker at > https://github.com/carlhuda/bundler/issues so that we can fix it. > Thanks!** >        /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:483:in `rescue in block in build_extensions': ERROR: Failed to build gem native > extension. (Gem::Installer::ExtensionBuildError) >        /usr/local/bin/ruby extconf.rb >        checking for sqlite3.h... no >        sqlite3.h is missing. Try 'port install sqlite3 +universal' >        or 'yum install sqlite3-devel' and check your shared library search path (the >        location where your sqlite3 shared library is located). >        *** extconf.rb failed *** >        Could not create Makefile due to some reason, probably lack of >        necessary libraries and/or headers.  Check the mkmf.log file for more >        details.  You may need configuration options. >        Provided configuration options: >        --with-opt-dir >        --without-opt-dir >        --with-opt-include >        --without-opt-include=${opt-dir}/include >        --with-opt-lib >        --without-opt-lib=${opt-dir}/lib >        --with-make-prog >        --without-make-prog >        --srcdir=. >        --curdir >        --ruby=/usr/local/bin/ruby >        --with-sqlite3-dir >        --without-sqlite3-dir >        --with-sqlite3-include >        --without-sqlite3-include=${sqlite3-dir}/include >        --with-sqlite3-lib >        --without-sqlite3-lib=${sqlite3-dir}/lib >        --enable-local >        --disable-local >        Gem files will remain installed in /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.4 > for inspection. >        Results logged to /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.4/ext/sqlite3/gem_make.out >        from /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:486:in `block in build_extensions' >        from /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:446:in `each' >        from /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:446:in `build_extensions' >        from /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:198:in `install' >        from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/source.rb:90:in > `block in install' >        from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/rubygems_integration.rb:78:in > `preserve_paths' >        from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/source.rb:89:in > `install' >        from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/installer.rb:73:in > `block in install_gem_from_spec' >        from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/rubygems_integration.rb:93:in > `with_build_args' >        from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/installer.rb:72:in > `install_gem_from_spec' >        from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/installer.rb:56:in > `block in run' >        from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/installer.rb:55:in > `run' >        from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/installer.rb:12:in > `install' >        from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/cli.rb:219:in > `install' >        from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/vendor/thor/task.rb:22:in > `run' >        from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task' >        from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/vendor/thor.rb:263:in > `dispatch' >        from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/vendor/thor/base.rb:386:in > `start' >        from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/bin/bundle:13:in > `' >        from vendor/bundle/ruby/1.9.1/bin/bundle:19:in `load' >        from vendor/bundle/ruby/1.9.1/bin/bundle:19:in `
' ! ! Failed to install gems via Bundler. ! ! Heroku push rejected, > failed to compile Ruby/rails app > > To git@heroku.com:falling-ice-5948.git ! [remote rejected] master -> > master (pre-receive hook declined) error: failed to push some refs to > 'git@heroku.com:falling-ice-5948.git'

EDIT - This post could be really helpful: sqlite3-ruby install error

回答1:

Add this to your Gemfile,

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

then do a bundle then repush to heroku. You cannot use sqlite3 on Heroku - which is the cause of the error.



回答2:

If you're still having the problem after removing sqlite3 from the Gemfile (or making it development-only) is that you haven't re-updated the file in the eyes of Heroku because it relies on Git.

Quite simply:

git add Gemfile git commit -m "Removed sqlite3 from Gemfile" git push heroku master 

I bashed my head against this for a while before realizing that the changes weren't "taking" because I hadn't actually committed them to Heroku.



回答3:

This is what worked for me after a day of trying every fix prescribed in the numerous forums! First of all if you are using the Rails Tutorial book or online you need to move to the second version (there is a beta version online at http://ruby.railstutorial.org/).

Open up your editor and add in the lines to your Gemfile:

group :production do         gem 'pg', '0.12.2'   end   group :development do       gem 'sqlite3', '1.3.4'   end 

Now you also need to commit your new edited Gemfile to Heroku so the next steps are in order.

git add Gemfile   git commit -m "Put Sqlite3 into development in the Gemfile"   git push heroku master   


回答4:

If it is still not working for you after applying tibbon and animuson's instructions (happened to me), try comment off the "gem 'sqlite3'" line in Gemfile, then add-commit-push again.



回答5:

I followed these instructions, but in my case I had to add the updated Gemfile.lock file to version control. So, I used the flag -a for "all" to add both the Gemfile file and the Gemfile.lock file.

git commit -am "Put Sqlite3 into development in the Gemfile and added the updated Gemfile.lock"
git push heroku master



回答6:

There is a slightly different syntax you can use to solve this problem:

gem 'pg', group: :production gem 'sqlite3', group: :development  


回答7:

If you have a reference to:

# Use sqlite3 as the database for Active Record gem 'sqlite3'

in your Gemfile, make sure to comment this out or replace it with the code suggested above. Otherwise if this remains, you'll still be running into the same error.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!