HEROKU - cannot run git push heroku master [duplicate]
Asked Answered
A

7

27

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
> `<top (required)>'
>        from vendor/bundle/ruby/1.9.1/bin/bundle:19:in `load'
>        from vendor/bundle/ruby/1.9.1/bin/bundle:19:in `<main>'  !  !     Failed to install gems via Bundler.  !  !     Heroku push rejected,
> failed to compile Ruby/rails app
> 
> To [email protected]:falling-ice-5948.git  ! [remote rejected] master ->
> master (pre-receive hook declined) error: failed to push some refs to
> '[email protected]:falling-ice-5948.git'

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

Archives answered 1/11, 2011 at 7:23 Comment(0)
D
60

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.

Detraction answered 1/11, 2011 at 9:33 Comment(3)
Thanks, but I've got still the same problem. My app doesn't work when in config/application.rb file is config.assets..enabled = true, when I change it to false it works, but doesn't use my .css file. What should I do ? Maybe exis special array when I have to add my css files?Archives
This also did not solve my problem.Combative
My answer is the solution for the error posted in the original posters question in regards to sqlite3 failing to install. Further problems should be opened as new questions.Detraction
O
41

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.

Oppress answered 5/1, 2012 at 23:23 Comment(1)
Had to do git add Gemfile.lock once I removed the dependancy too, but this worked for me. ThanksKamchatka
T
13

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  
Trig answered 25/1, 2012 at 20:56 Comment(0)
R
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.

Runofthemill answered 4/9, 2012 at 7:49 Comment(1)
to expound just a bit... you don't want to have any "conflicts" in your gemfile, i.e. remove or comment out the "original" gem sqlite3 at the top of your gemfile (inserted when originally creating your app/scaffold). This gem sqlite3 line conflicts or overrides the conditional statement in the above answer. And, if that's not enough of a problem, you would have version conflicts with gem sqlite3 vs. gem 'sqlite3', '1.3.4'Lorindalorine
M
0

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

Molnar answered 2/5, 2013 at 12:31 Comment(0)
D
0

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

gem 'pg', group: :production
gem 'sqlite3', group: :development 
Deepen answered 26/9, 2015 at 21:43 Comment(0)
B
0

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.

Botel answered 24/10, 2015 at 11:0 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.