1

I can't push my site to heroku. Log is belove

Counting objects: 94, done.
Compressing objects: 100% (78/78), done.
Writing objects: 100% (94/94), 115.53 KiB, done.
Total 94 (delta 7), reused 0 (delta 0)


-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.2.1
       Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment
       Fetching gem metadata from .........
       Fetching gem metadata from ..
       Installing rake (0.9.2.2)
       Installing i18n (0.6.1)
       Installing multi_json (1.3.6)
       Installing activesupport (3.2.8)
       Installing builder (3.0.4)
       Installing activemodel (3.2.8)
       Installing erubis (2.7.0)
       Installing journey (1.0.4)
       Installing rack (1.4.1)
       Installing rack-cache (1.2)
       Installing rack-test (0.6.2)
       Installing hike (1.2.1)
       Installing tilt (1.3.3)
       Installing sprockets (2.1.3)
       Installing actionpack (3.2.8)
       Installing mime-types (1.19)
       Installing polyglot (0.3.3)
       Installing treetop (1.4.11)
       Installing mail (2.4.4)
       Installing actionmailer (3.2.8)
       Installing arel (3.0.2)
       Installing tzinfo (0.3.33)
       Installing activerecord (3.2.8)
       Installing activeresource (3.2.8)
       Installing coffee-script-source (1.4.0)
       Installing execjs (1.4.0)
       Installing coffee-script (2.2.0)
       Installing rack-ssl (1.3.2)
       Installing json (1.7.5) with native extensions
       Installing rdoc (3.12)
       Installing thor (0.16.0)

       Installing railties (3.2.8)
       Installing coffee-rails (3.2.2)
       Installing jquery-rails (2.1.3)
       Using bundler (1.2.1)
       Installing rails (3.2.8)
       Installing sass (3.2.1)
       Installing sass-rails (3.2.5)
       Installing sqlite3 (1.3.6) with native extensions

First error

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

In this block error

    --disable-local
       Gem files will remain installed in /tmp/build_2tmilsljpykpx/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.6 for inspection.
       Results logged to /tmp/build_2tmilsljpykpx/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.
 !     
 !     Detected sqlite3 gem which is not supported on Heroku.
 !     http://devcenter.heroku.com/articles/how-do-i-use-sqlite3-for-development
 !
 !     Heroku push rejected, failed to compile Ruby/rails app

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

Sorry for this section Oops! Your question couldn't be submitted because: Your post does not have much context to explain the code sections; please explain your scenario more clearly. Oops! Your question couldn't be submitted because: Your post does not have much context to explain the code sections; please explain your scenario more clearly. Oops! Your question couldn't be submitted because: Your post does not have much context to explain the code sections; please explain your scenario more clearly. Oops! Your question couldn't be submitted because: Your post does not have much context to explain the code sections; please explain your scenario more clearly.

$ sudo bundle install

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.8 extconf.rb 
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
 --with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** 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/bin/ruby1.8
    --with-pg
    --without-pg
    --with-pg-dir
    --without-pg-dir
    --with-pg-include
    --without-pg-include=${pg-dir}/include
    --with-pg-lib
    --without-pg-lib=${pg-dir}/lib
    --with-pg-config
    --without-pg-config
    --with-pg_config
    --without-pg_config


Gem files will remain installed in /var/lib/gems/1.8/gems/pg-0.14.1 for inspection.
Results logged to /var/lib/gems/1.8/gems/pg-0.14.1/ext/gem_make.out
An error occurred while installing pg (0.14.1), and Bundler cannot continue.
Make sure that `gem install pg -v '0.14.1'` succeeds before bundling.

GemFile

source 'https://rubygems.org'

#gem 'rails', '3.0.9'

#gem 'sqlite3', '1.3.6', :group => :development


gem 'rails', '3.2.8'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'

gem 'json'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'


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


# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'ruby-debug'
Chris Martin
  • 30,334
  • 10
  • 78
  • 137
Arthur Yakovlev
  • 8,933
  • 8
  • 32
  • 48

3 Answers3

3

heroku works on pg and you are using sqlite3 so that error comes

try this and add into your gem file

group :production do
 gem 'pg'
end
group :development do
  # whatever you use - mysql or any other
end
Dipak Panchal
  • 5,996
  • 4
  • 32
  • 68
1

Heroku does not support SQLite databases - you should switch over to using Postgresql if you wish to use Heroku.

In you Gemfile replace

    gem 'sqlite3'

with

    gem 'pg'

You may also need to install Postgresql locally for development. Go to www.postgresql.org for help on this.

Felix
  • 674
  • 5
  • 16
1

Heroku uses PostgreSQL and doesn't support other databases, including sqlite3.

They have a guide on setting up PostgreSQL locally:

https://devcenter.heroku.com/articles/local-postgresql

Stefan
  • 109,145
  • 14
  • 143
  • 218