Justin Smith
Justin Smith

Reputation: 21

git push heroku master issue. heroku wont allow me to upload my application

I've been following the ruby on rails application tutorials and i followed everything step by step but when i reached the last step to upload my application to heroku, i received an error message. I tried installing the gem it's asking for, but i still keep getting the same error message.

$ git push heroku master Counting objects: 67, done. Delta compression using up to 4 threads. Compressing objects: 100% (53/53), done. Writing objects: 100% (67/67), 26.30 KiB | 0 bytes/s, done. Total 67 (delta 4), reused 0 (delta 0)

-----> Ruby/Rails app detected
-----> WARNING: Removing `Gemfile.lock` because it was generated on Windows.
       Bundler will do a full resolve so native gems are handled properly.
-----> Installing dependencies using Bundler version 1.3.2
       Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin
       Fetching gem metadata from https://rubygems.org/...........
       Fetching gem metadata from https://rubygems.org/..
       Resolving dependencies...
       Installing rake (10.0.4)
       Installing i18n (0.6.1)
       Installing multi_json (1.7.6)
       Installing activesupport (3.2.13)
       Installing builder (3.0.4)
       Installing activemodel (3.2.13)
       Installing erubis (2.7.0)
       Installing journey (1.0.4)
       Installing rack (1.4.5)
       Installing rack-cache (1.2)
       Installing rack-test (0.6.2)
       Installing hike (1.2.3)
       Installing tilt (1.4.1)
       Installing sprockets (2.2.2)
       Installing actionpack (3.2.13)
       Installing mime-types (1.23)
       Installing polyglot (0.3.3)
       Installing treetop (1.4.14)
       Installing mail (2.5.4)
       Installing actionmailer (3.2.13)
       Installing arel (3.0.2)
       Installing tzinfo (0.3.37)
       Installing activerecord (3.2.13)
       Installing activeresource (3.2.13)
       Using bundler (1.3.2)
       Installing coffee-script-source (1.6.2)
       Installing execjs (1.4.0)
       Installing coffee-script (2.2.0)
       Installing rack-ssl (1.3.3)
       Installing json (1.8.0)
       Installing rdoc (3.12.2)
       Installing thor (0.18.1)
       Installing railties (3.2.13)
       Installing coffee-rails (3.2.2)
       Installing jquery-rails (3.0.0)
       Installing rails (3.2.13)
       Installing sass (3.2.9)
       Installing sass-rails (3.2.6)
       Installing sqlite3 (1.3.7)
       Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
       /usr/local/bin/ruby extconf.rb
       checking for sqlite3.h... no
       sqlite3.h is missing. Try 'port install sqlite3 +universal'
       or 'yum install sqlite-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
       --with-opt-dir
       --without-opt-dir
       --with-opt-include
       --without-opt-include=${opt-dir}/include                                                                                                  --without-opt-lib=${opt-dir}/lib
       --with-opt-lib
       --without-opt-lib=${opt-dir}/lib
       --with-make-prog                                                                                                                                                         --curdi
       --without-make-prog                                                                                                                       /usr/local/bin/ruby
       --srcdir=.                                                                                                                                         
       --curdir
       --ruby=/usr/local/bin/ruby                                                                                                                                        --without-sqli
       --with-sqlite3-dir                                                                                                                        -lib                                  
       --without-sqlite3-dir
       --with-sqlite3-include
       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
       --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_1rov1v3jt0scl/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.7 for inspection.
       Results logged to /tmp/build_1rov1v3jt0scl/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.7/ext/sqlite3/gem_make.out
       An error occurred while installing sqlite3 (1.3.7), and Bundler cannot continue.
       Make sure that `gem install sqlite3 -v '1.3.7'` succeeds before bundling.
 !
 !     Failed to install gems via Bundler.
 !

 !     Push rejected, failed to compile Ruby/Rails app

To [email protected]:aqueous-eyrie-1129.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:aqueous-eyrie-1129.git'

Upvotes: 1

Views: 176

Answers (2)

Justin Smith
Justin Smith

Reputation: 21

Since Heroku provides you a PostgreSQL database for your app, edit your Gemfile and change this line:

gem 'sqlite3' To this:

gem 'pg'

Upvotes: 0

Musannif Zahir
Musannif Zahir

Reputation: 3029

Heroku no longer supports SQLite as a database so you will have to switch to the Postgres gem: pg. While you could use sqlite3 for development and postgres for production, it's not recommended as you want to keep your dev and prod environments as similar as possible.

Heroku has a guide to get you started

Upvotes: 2

Related Questions