0
votes

I'm trying push the application to Heroku: 'git push heroku master', but getting error:

c:\Sites\rails_project\first_app>git push heroku master
Counting objects: 63, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (49/49), done.
Writing objects: 100% (63/63), 25.95 KiB, done.
Total 63 (delta 2), reused 0 (delta 0)

-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.2.0.pre
Running: bundle install --without development:test --path vendor/bundle -binstubs bin/
Fetching gem metadata from https://rubygems.org/.........
Installing rake (0.9.2.2)
Installing i18n (0.6.0)
Installing multi_json (1.3.6)
Installing activesupport (3.2.1)
Installing builder (3.0.0)
Installing activemodel (3.2.1)
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.1)
Installing hike (1.2.1)
Installing tilt (1.3.3)
Installing sprockets (2.1.3)
Installing actionpack (3.2.1)
Installing mime-types (1.19)
Installing polyglot (0.3.3)
Installing treetop (1.4.10)
Installing mail (2.4.4)
Installing actionmailer (3.2.1)
Installing arel (3.0.2)
Installing tzinfo (0.3.33)
Installing activerecord (3.2.1)
Installing activeresource (3.2.1)
Using bundler (1.2.0.pre)
Installing coffee-script-source (1.3.3)
Installing execjs (1.4.0)
Installing coffee-script (2.2.0)
Installing rack-ssl (1.3.2)
Installing json (1.7.3) with native extensions
Installing rdoc (3.12)
Installing thor (0.14.6)
Installing railties (3.2.1)
Installing coffee-rails (3.2.2)
Installing jquery-rails (2.0.2)
Installing rails (3.2.1)
Installing sass (3.1.20)
Installing sass-rails (3.2.5)
Installing sqlite3 (1.3.3) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native tension.
/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 pat
(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
Gem files will remain installed in /tmp/build_3kebgpytmvg9c/vendor/bund /ruby/1.9.1/gems/sqlite3-1.3.3 for inspection.
Results logged to /tmp/build_3kebgpytmvg9c/vendor/bundle/ruby/1.9.1/gem sqlite3-1.3.3/ext/sqlite3/gem_make.out
An error occurred while installing sqlite3 (1.3.3), and Bundler cannot ntinue.
Make sure that gem install sqlite3 -v '1.3.3' succeeds before bundlin
!
! Failed to install gems via Bundler.
!
! Heroku push rejected, failed to compile Ruby/rails app

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


I make install sqllite3, but:

c:\Sites\rails_project\first_app>gem install sqlite3 -v '1.3
Fetching: sqlite3-1.3.3-x86-mingw32.gem (100%)


You've installed the binary version of sqlite3.
It was built using SQLite3 version 3.7.3.
It's recommended to use the exact same version to avoid po

At the time of building this gem, the necessary DLL files
in the following download:

http://www.sqlite.org/sqlitedll-3_7_3.zip

You can put the sqlite3.dll available in this package in y directory, for example C:\Ruby\bin

============================================================
Successfully installed sqlite3-1.3.3-x86-mingw32
1 gem installed
Installing ri documentation for sqlite3-1.3.3-x86-mingw32...
Installing RDoc documentation for sqlite3-1.3.3-x86-mingw32.
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the js directory.

thank

1

1 Answers

5
votes

Heroku uses PostgreSQL databases not SQLite. So you have to do something like this in your Gemfile:

group :development do
  gem 'sqlite3'
end

group :production do
  gem 'pg'
end

That way you can use SQLite in development and PostgreSQL in production (on Heroku). With these settings Heroku won't try to install the SQLite gem, which is causing the error.