0

Possible Duplicate:
Heroku, Rails 3 and sqlite3

I am using a Centos 6.3 OS and I am having trouble pushing my application to heroku using Git

What I type in:

git push heroku master

What I get:

Counting objects: 70, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (55/55), done.
Writing objects: 100% (70/70), 86.84 KiB, done.
Total 70 (delta 7), reused 0 (delta 0)
-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.3.0.pre.5
   Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
   Fetching gem metadata from http://rubygems.org/.........
   Fetching gem metadata from http://rubygems.org/..
   Installing rake (10.0.3)
   Installing abstract (1.0.0)
   Installing activesupport (3.0.19)
   Installing builder (2.1.2)
   Installing i18n (0.5.0)
   Installing activemodel (3.0.19)
   Installing erubis (2.6.6)
   Installing rack (1.2.6)
   Installing rack-mount (0.6.14)
   Installing rack-test (0.5.7)
   Installing tzinfo (0.3.35)
   Installing actionpack (3.0.19)
   Installing mime-types (1.19)
   Installing polyglot (0.3.3)
   Installing treetop (1.4.12)
   Installing mail (2.2.19)
   Installing actionmailer (3.0.19)
   Installing arel (2.0.10)
   Installing activerecord (3.0.19)
   Installing activeresource (3.0.19)
   Installing json (1.7.6)
   Using bundler (1.3.0.pre.5)
   Installing rdoc (3.12)
   Installing thor (0.14.6)
   Installing railties (3.0.19)
   Installing rails (3.0.19)
   Installing sqlite3 (1.3.6)
   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
   --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_ozcea9mu00be/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.6 for inspection.
   Results logged to /tmp/build_ozcea9mu00be/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.6/ext/sqlite3/gem_make.out
   An error occurred while installing sqlite3 (1.3.6), and Bundler cannot continue.
   Make sure that `gem install sqlite3 -v '1.3.6'` succeeds before bundling.
 !
 !     Failed to install gems via Bundler.
 !
 !     Heroku push rejected, failed to compile Ruby/rails app

To git@heroku.com:floating-woodland-1763.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:floating-woodland-1763.git'

I have sqlite3 version 1.3.6 installed for sure since I checked and double checked. I also ran and got:

git remote -v
heroku  git@heroku.com:floating-woodland-1763.git (fetch)
heroku  git@heroku.com:floating-woodland-1763.git (push)
origin  git@github.com:(user)/first_app.git (fetch)
origin  git@github.com:(user)/first_app.git (push)

I have no idea what to do, please help. =)

Community
  • 1
  • 1
Nameo0
  • 81
  • 10
  • Heroku doesn't support sqlite. See here for more info: http://stackoverflow.com/questions/3747002/heroku-rails-3-and-sqlite3 – mscccc Jan 12 '13 at 15:33

1 Answers1

0

You can't use sqlite on Heroku. They offer a free dev version of PostgreSQL. You can set it up on their web interface or on the command line with:

heroku addons:add heroku-postgresql:dev

There are, of course, restrictions on your usage of this db, as Heroku starts charging you when your app reaches a certain size. You'll need to get your login credentials for your addon. The easiest way to do that is to go to your app on Heroku.com, click on the PG addon, then choose "Active Record" from the drop-down. That will actually display the YAML you need in your config/database.yml file to connect to the Heroku DB.

You'll need to add gem 'pg' to your gemfile. Heroku recommends that you install PG on your dev machine, but if you don't want to do that you can just add the pg gem under group :production.

Bottom line: you can't use sqlite on Heroku. If that's a deal-breaker, check out Amazon EC2 or any of the thousands of other hosting sites out there.

Austin Mullins
  • 7,307
  • 2
  • 33
  • 48