Regarding my app update on Heroku - ruby-on-rails

Results logged to /tmp/build_207lfem2op1z3/vendor/bundle/ruby/1.9.1/gems/linecache19-0.5.12/ext/trace_nums/gem_make.out
An error occurred while installing linecache19 (0.5.12), and Bundler cannot continue.
Make sure that `gem install linecache19 -v '0.5.12'` succeeds before bundling.
!
! Failed to install gems via Bundler.
!
! Heroku push rejected, failed to compile Ruby/rails app
To git#heroku.com:intense-garden-9145.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git#heroku.com:intense-garden-9145.git'
So please help me in solving this Iam new to Heroku and Ruby on rails
I have followed the following steps to update my app
git init
git add.
git commit -m '.'
git push heroku master
And I have got the following run error
saasbook#saasbook:~/hw2_rottenpotatoes$ git push heroku master
Counting objects: 462, done.
Compressing objects: 100% (240/240), done.
Writing objects: 100% (462/462), 76.71 KiB, done.
Total 462 (delta 185), reused 427 (delta 172)
-----> 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 http://rubygems.org/.........
Fetching gem metadata from http://rubygems.org/..
Installing rake (0.9.2.2)
Installing multi_json (1.0.4)
Installing activesupport (3.1.0)
Installing bcrypt-ruby (3.0.1) with native extensions
Installing builder (3.0.0)
Installing i18n (0.6.0)
Installing activemodel (3.1.0)
Installing erubis (2.7.0)
Installing rack (1.3.6)
Installing rack-cache (1.0.3)
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.0)
Installing mime-types (1.17.2)
Installing polyglot (0.3.3)
Installing treetop (1.4.10)
Installing mail (2.3.0)
Installing actionmailer (3.1.0)
Installing arel (2.2.1)
Installing tzinfo (0.3.31)
Installing activerecord (3.1.0)
Installing activeresource (3.1.0)
Installing archive-tar-minitar (0.5.2)
Installing coffee-script-source (1.2.0)
Installing execjs (1.2.13)
Installing coffee-script (2.2.0)
Installing rack-ssl (1.3.2)
Installing json (1.6.5) with native extensions
Installing rdoc (3.12)
Installing thor (0.14.6)
Installing railties (3.1.0)
Installing coffee-rails (3.1.1)
Installing columnize (0.3.6)
Installing haml (3.1.4)
Installing jquery-rails (1.0.19)
Installing libv8 (3.3.10.4)
Installing ruby_core_source (0.1.5)
Installing linecache19 (0.5.12) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/local/bin/ruby extconf.rb
checking for vm_core.h... no
checking for vm_core.h... no
*** 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-ruby-dir
--without-ruby-dir
--with-ruby-include
--without-ruby-include=${ruby-dir}/include
--with-ruby-lib
--without-ruby-lib=${ruby-dir}/lib
/usr/local/lib/ruby/1.9.1/fileutils.rb:243:in `mkdir': Read-only file system - /usr/local/include/ruby-1.9.1/ruby-1.9.2-p290 (Errno::EROFS)
from /usr/local/lib/ruby/1.9.1/fileutils.rb:243:in `fu_mkdir'
from /usr/local/lib/ruby/1.9.1/fileutils.rb:217:in `block (2 levels) in mkdir_p'
from /usr/local/lib/ruby/1.9.1/fileutils.rb:215:in `reverse_each'
from /usr/local/lib/ruby/1.9.1/fileutils.rb:215:in `block in mkdir_p'
from /usr/local/lib/ruby/1.9.1/fileutils.rb:201:in `each'
from /usr/local/lib/ruby/1.9.1/fileutils.rb:201:in `mkdir_p'
from /tmp/build_lt34ecl4ewpm/vendor/bundle/ruby/1.9.1/gems/ruby_core_source-0.1.5/lib/ruby_core_source.rb:59:in `block in create_makefile_with_core'
from /usr/local/lib/ruby/1.9.1/tempfile.rb:320:in `open'
from /tmp/build_lt34ecl4ewpm/vendor/bundle/ruby/1.9.1/gems/ruby_core_source-0.1.5/lib/ruby_core_source.rb:51:in `create_makefile_with_core'
from extconf.rb:19:in `<main>'
Requesting http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz
Downloading http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz
Gem files will remain installed in /tmp/build_lt34ecl4ewpm/vendor/bundle/ruby/1.9.1/gems/linecache19-0.5.12 for inspection.
Results logged to /tmp/build_lt34ecl4ewpm/vendor/bundle/ruby/1.9.1/gems/linecache19-0.5.12/ext/trace_nums/gem_make.out
An error occurred while installing linecache19 (0.5.12), and Bundler cannot continue.
Make sure that `gem install linecache19 -v '0.5.12'` succeeds before bundling.
!
! Failed to install gems via Bundler.
!
! Heroku push rejected, failed to compile Ruby/rails app
To git#heroku.com:intense-garden-9145.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git#heroku.com:intense-garden-9145.git'
Below Iam posting my Gem file
source 'http://rubygems.org'
gem 'rails', '3.1.0'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'therubyracer'
gem 'sass-rails', " ~> 3.1.0"
gem 'coffee-rails', "~> 3.1.0"
gem 'uglifier'
end
gem 'jquery-rails'
# Use unicorn as the web server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
gem 'ruby-debug19', :require => 'ruby-debug'
gem 'haml'

An error occurred while installing linecache19 (0.5.12), and Bundler cannot continue.
Typically you will only have ruby-debug gem in use in development, not in production. Make sure ruby-debug is in the :development or :test group in your Gemfile.
group :development, :test do
gem 'ruby-debug19', :require => 'ruby-debug'
end
Then try the following
Run bundle again
Commit your Gemfile and Gemfile.lock
Push to Heroku again

linecache19 is installed as a dependency of ruby-debug19, which you don't want to have in production anyway.
In your Gemfile, replace the line that says
gem 'ruby-debug19', :require => 'ruby-debug'
with this
group :development, :test do
gem 'ruby-debug19', require: 'ruby-debug'
end
which will mean that the debugger is only loaded in the development and test environments.
You're also going to run into trouble with sqlite3 which is not supported on Heroku either... see this question

Related

Heroku Deploy - Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension

I'm trying to deploy my app to its heroku staging site and am getting this error:
No source for ruby-1.9.3-p545 provided with debugger-ruby_core_source gem.
Here is my terminal output:
Fetching repository, done.
Counting objects: 402, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (328/328), done.
Writing objects: 100% (335/335), 39.22 KiB, done.
Total 335 (delta 219), reused 1 (delta 0)
-----> Removing .DS_Store files
-----> Ruby app detected
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-1.9.3
-----> Installing dependencies using 1.5.2
Ruby version change detected. Clearing bundler cache.
Old: ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
New: ruby 1.9.3p545 (2014-02-24 revision 45159) [x86_64-linux]
Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
Installing builder (3.0.4)
Installing multi_json (1.8.4)
Installing i18n (0.6.9)
Installing rake (10.1.1)
Installing journey (1.0.4)
Installing erubis (2.7.0)
Installing rack (1.4.5)
Installing hike (1.2.3)
Installing polyglot (0.3.3)
Installing tilt (1.4.1)
Installing mime-types (1.25.1)
Installing arel (3.0.3)
Installing encryptor (1.3.0)
Installing coffee-script-source (1.6.3)
Installing execjs (2.0.2)
Installing tzinfo (0.3.38)
Installing thor (0.18.1)
Installing columnize (0.3.6)
Installing bcrypt-ruby (3.0.1)
Installing debugger-linecache (1.2.0)
Using bundler (1.5.2)
Installing json (1.8.1)
Installing activesupport (3.2.15)
Installing sass (3.2.13)
Installing rack-cache (1.2)
Installing rack-test (0.6.2)
Installing rack-ssl (1.3.3)
Installing debugger-ruby_core_source (1.3.1)
Installing sprockets (2.2.2)
Installing treetop (1.4.15)
Installing rest-client (1.6.7)
Installing coffee-script (2.2.0)
Installing attr_encrypted (1.3.1)
Installing uglifier (2.4.0)
Installing rdoc (3.12.2)
Installing activemodel (3.2.15)
Using stripe (1.9.9)
Installing mail (2.5.4)
Installing actionpack (3.2.15)
Installing activerecord (3.2.15)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/tmp/build_c3dc4410-aa3d-49f3-898a-cdf549b66956/vendor/ruby-1.9.3/bin/ruby extconf.rb
checking for rb_method_entry_t.called_id in method.h... no
checking for rb_control_frame_t.method_id in method.h... no
checking for rb_method_entry_t.called_id in method.h... no
checking for rb_control_frame_t.method_id in method.h... no
Makefile creation failed
**************************************************************************
No source for ruby-1.9.3-p545 provided with debugger-ruby_core_source gem.
**************************************************************************
*** 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=/tmp/build_c3dc4410-aa3d-49f3-898a-cdf549b66956/vendor/ruby-1.9.3/bin/ruby
--with-ruby-dir
--without-ruby-dir
--with-ruby-include
--without-ruby-include=${ruby-dir}/include
--with-ruby-lib
--without-ruby-lib=${ruby-dir}/lib
Gem files will remain installed in /tmp/build_c3dc4410-aa3d-49f3-898a-cdf549b66956/vendor/bundle/ruby/1.9.1/gems/debugger-1.6.5 for inspection.
Results logged to /tmp/build_c3dc4410-aa3d-49f3-898a-cdf549b66956/vendor/bundle/ruby/1.9.1/gems/debugger-1.6.5/ext/ruby_debug/gem_make.out
Installing activeresource (3.2.15)
Installing actionmailer (3.2.15)
Installing pg (0.17.1)
An error occurred while installing debugger (1.6.5), and Bundler cannot
continue.
Make sure that `gem install debugger -v '1.6.5'` succeeds before bundling.
Installing builder (3.0.4)
Installing multi_json (1.8.4)
Installing i18n (0.6.9)
Installing rake (10.1.1)
Installing journey (1.0.4)
Installing erubis (2.7.0)
Installing rack (1.4.5)
Installing hike (1.2.3)
Installing polyglot (0.3.3)
Installing tilt (1.4.1)
Installing mime-types (1.25.1)
Installing arel (3.0.3)
Installing encryptor (1.3.0)
Installing coffee-script-source (1.6.3)
Installing execjs (2.0.2)
Installing tzinfo (0.3.38)
Installing thor (0.18.1)
Installing columnize (0.3.6)
Installing bcrypt-ruby (3.0.1)
Installing debugger-linecache (1.2.0)
Using bundler (1.5.2)
Installing json (1.8.1)
Installing activesupport (3.2.15)
Installing sass (3.2.13)
Installing rack-cache (1.2)
Installing rack-test (0.6.2)
Installing rack-ssl (1.3.3)
Installing debugger-ruby_core_source (1.3.1)
Installing sprockets (2.2.2)
Installing treetop (1.4.15)
Installing rest-client (1.6.7)
Installing coffee-script (2.2.0)
Installing attr_encrypted (1.3.1)
Installing uglifier (2.4.0)
Installing rdoc (3.12.2)
Installing activemodel (3.2.15)
Using stripe (1.9.9)
Installing mail (2.5.4)
Installing actionpack (3.2.15)
Installing activerecord (3.2.15)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/tmp/build_c3dc4410-aa3d-49f3-898a-cdf549b66956/vendor/ruby-1.9.3/bin/ruby extconf.rb
checking for rb_method_entry_t.called_id in method.h... no
checking for rb_control_frame_t.method_id in method.h... no
checking for rb_method_entry_t.called_id in method.h... no
checking for rb_control_frame_t.method_id in method.h... no
Makefile creation failed
**************************************************************************
No source for ruby-1.9.3-p545 provided with debugger-ruby_core_source gem.
**************************************************************************
*** 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=/tmp/build_c3dc4410-aa3d-49f3-898a-cdf549b66956/vendor/ruby-1.9.3/bin/ruby
--with-ruby-dir
--without-ruby-dir
--with-ruby-include
--without-ruby-include=${ruby-dir}/include
--with-ruby-lib
--without-ruby-lib=${ruby-dir}/lib
Gem files will remain installed in /tmp/build_c3dc4410-aa3d-49f3-898a-cdf549b66956/vendor/bundle/ruby/1.9.1/gems/debugger-1.6.5 for inspection.
Results logged to /tmp/build_c3dc4410-aa3d-49f3-898a-cdf549b66956/vendor/bundle/ruby/1.9.1/gems/debugger-1.6.5/ext/ruby_debug/gem_make.out
Installing activeresource (3.2.15)
Installing actionmailer (3.2.15)
Installing pg (0.17.1)
An error occurred while installing debugger (1.6.5), and Bundler cannot
continue.
Make sure that `gem install debugger -v '1.6.5'` succeeds before bundling.
Failed to install gems via Bundler.
Push rejected, failed to compile Ruby app
[remote rejected] master -> master (pre-receive hook declined)
I have already tried to run:
"bundle update debugger-ruby_core_source" and "bundle update debugger"
and have tried:
"gem install debugger-linecache -v '1.1.2' -- --with-ruby-include=\$rvm_path/src/ruby-1.9.3-p545"
here is my gem file:
source 'https://rubygems.org'
ruby '1.9.3'
gem 'rails', '3.2.15'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'pg'
gem 'attr_encrypted'
group :development, :test do
gem 'rspec-rails'
gem 'capybara'
gem 'factory_girl_rails'
gem 'shoulda-matchers'
gem 'faker'
gem 'jasmine-rails'
gem 'rack_session_access'
gem 'launchy'
end
gem "twitter-bootstrap-rails"
# 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'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
# To use ActiveModel has_secure_password
gem 'bcrypt-ruby', '~> 3.0.0'
# To use Jbuilder templates for JSON
# gem 'jbuilder'
#this for payment processing
gem 'stripe', :git => 'https://github.com/stripe/stripe-ruby'
# To use debugger
gem 'debugger'
Any ideas? Thanks!
update:
I went ahead and removed debugger entirely from my gemfile, bundled, and committed and that solved the problem. Thanks!
Try moving the debugger gem to development.
https://devcenter.heroku.com/articles/ruby-support#debugger-gems-fail-to-install

Installing fcgi fails on Heroku

I'm trying to push my Rails project onto Heroku. It gives some error about fcgi. On my machine, I'm able to install fcgi just fine. I can do gem install fcgi -v '0.8.8' on my machine without error.
-----> Ruby/Rails app detected
-----> Using Ruby version: ruby-2.0.0
-----> Installing dependencies using Bundler version 1.3.2
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 (0.9.2.2)
Installing abstract (1.0.0)
Installing activesupport (3.0.11)
Installing builder (2.1.2)
Installing i18n (0.5.0)
Installing activemodel (3.0.11)
Installing erubis (2.6.6)
Installing rack (1.4.0)
Installing rack-mount (0.7.1)
Installing rack-test (0.6.1)
Installing tzinfo (0.3.33)
Installing actionpack (3.0.11)
Installing mime-types (1.16)
Installing polyglot (0.3.1)
Installing treetop (1.4.10)
Installing mail (2.4.4)
Installing actionmailer (3.0.11)
Installing arel (2.0.9)
Installing activerecord (3.0.11)
Installing activeresource (3.0.11)
Installing bigdecimal (1.1.0)
Installing fcgi (0.8.8)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/tmp/build_ljhotq40guh7/vendor/ruby-2.0.0/bin/ruby extconf.rb
checking for fcgiapp.h... no
checking for fastcgi/fcgiapp.h... no
*** 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=/tmp/build_ljhotq40guh7/vendor/ruby-2.0.0/bin/ruby
--with-fcgi-dir
--without-fcgi-dir
--with-fcgi-include
--without-fcgi-include=${fcgi-dir}/include
--with-fcgi-lib
--without-fcgi-lib=${fcgi-dir}/
Gem files will remain installed in /tmp/build_ljhotq40guh7/vendor/bundle/ruby/2.0.0/gems/fcgi-0.8.8 for inspection.
Results logged to /tmp/build_ljhotq40guh7/vendor/bundle/ruby/2.0.0/gems/fcgi-0.8.8/ext/fcgi/gem_make.out
An error occurred while installing fcgi (0.8.8), and Bundler cannot continue.
Make sure that `gem install fcgi -v '0.8.8'` succeeds before bundling.
Gemfile:
source 'http://rubygems.org'
gem 'rails', '3.0.11'
#gem 'mysql2', '~> 0.2.17'
group :development, :test do
gem 'sqlite3'
end
group :production do
gem 'pg'
end
# Use unicorn as the web server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+)
# gem 'ruby-debug'
# gem 'ruby-debug19', :require => 'ruby-debug'
# Bundle the extra gems:
# gem 'bj'
# gem 'nokogiri'
# gem 'sqlite3-ruby', :require => 'sqlite3'
# gem 'aws-s3', :require => 'aws/s3'
# Bundle gems for the local environment. Make sure to
# put test-only gems in this group so their generators
# and rake tasks are available in development mode:
# group :development, :test do
# gem 'webrat'
# end
gem 'fcgi'
gem 'minitest'
It looks like you're using a really old version of Rails there.
Heroku recently changed all new applications to default to using Ruby 2.0.0 - I'd suggest putting
ruby '1.9.3'
in your Gemfile under the source line to lock your application to Ruby 1.9.3 as you may be experiencing issues with the latest version of Ruby and old Rails/gems etc.

Troubling pushing to Heroku [closed]

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.
Closed 9 years ago.
I'm having trouble pushing to Heroku. Have looked around for quite a bit but haven't found a working solution. Seems like there are some missing libraries, the gemfile has sqlite under dev and test and pg under production. Here are the results of the push and the dependencies of sqlite:
Fetching: sqlite3-1.3.7.gem (100%)
Building native extensions. This could take a while...
Fetching: sqlite3-ruby-1.3.3.gem (100%)
#######################################################
Hello! The sqlite3-ruby gem has changed it's name to just sqlite3. Rather than
installing `sqlite3-ruby`, you should install `sqlite3`. Please update your
dependencies accordingly.
Thanks from the Ruby sqlite3 team!
<3 <3 <3 <3
#######################################################
Successfully installed sqlite3-1.3.7
Successfully installed sqlite3-ruby-1.3.3
2 gems installed
user-macbook:sample_app user$ git push heroku master
Counting objects: 146, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (108/108), done.
Writing objects: 100% (117/117), 17.84 KiB, done.
Total 117 (delta 50), reused 0 (delta 0)
-----> Removing .DS_Store files
-----> 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 https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Using rake (10.0.3)
Using i18n (0.6.1)
Using multi_json (1.5.0)
Using activesupport (3.2.3)
Using builder (3.0.4)
Using activemodel (3.2.3)
Using erubis (2.7.0)
Using journey (1.0.4)
Using rack (1.4.1)
Using rack-cache (1.2)
Using rack-test (0.6.2)
Using hike (1.2.1)
Using tilt (1.3.3)
Using sprockets (2.1.3)
Using actionpack (3.2.3)
Using mime-types (1.19)
Using polyglot (0.3.3)
Using treetop (1.4.12)
Using mail (2.4.4)
Using actionmailer (3.2.3)
Using arel (3.0.2)
Using tzinfo (0.3.35)
Using activerecord (3.2.3)
Using activeresource (3.2.3)
Installing annotate (2.5.0)
Installing bcrypt-ruby (3.0.1)
Installing bootstrap-sass (2.0.0)
Installing coderay (1.0.8)
Using coffee-script-source (1.4.0)
Using execjs (1.4.0)
Using coffee-script (2.2.0)
Using rack-ssl (1.3.2)
Using json (1.7.5)
Using rdoc (3.12)
Using thor (0.14.6)
Using railties (3.2.3)
Using coffee-rails (3.2.2)
Using diff-lcs (1.1.3)
Installing factory_girl (2.3.2)
Installing factory_girl_rails (1.4.0)
Installing listen (0.6.0)
Installing lumberjack (1.0.2)
Installing method_source (0.8.1)
Installing slop (3.3.3)
Installing pry (0.9.10)
Installing guard (1.6.0)
Installing guard-rspec (0.5.5)
Using jquery-rails (2.0.1)
Using pg (0.12.2)
Using bundler (1.3.0.pre.5)
Using rails (3.2.3)
Using rspec-core (2.9.0)
Using rspec-expectations (2.9.1)
Using rspec-mocks (2.9.0)
Using rspec (2.9.0)
Using rspec-rails (2.9.0)
Using sass (3.2.4)
Using sass-rails (3.2.5)
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_3vt0kpt7q53ss/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.6 for inspection.
Results logged to /tmp/build_3vt0kpt7q53ss/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:still-woodland-3538.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git#heroku.com:still-woodland-3538.git'
sqlite dependencies:
Gem sqlite3-1.3.5
hoe (~> 2.12, development)
mini_portile (~> 0.2.2, development)
rake-compiler (~> 0.7.0, development)
rdoc (~> 3.10, development)
Gem sqlite3-1.3.6
hoe (~> 3.0, development)
mini_portile (~> 0.2.2, development)
rake-compiler (~> 0.7.0, development)
rdoc (~> 3.10, development)
Gem sqlite3-1.3.7
hoe (~> 3.4, development)
mini_portile (~> 0.2.2, development)
rake-compiler (~> 0.8.2, development)
rdoc (~> 3.10, development)
Gemfile:
source 'https://rubygems.org'
gem 'rails', '3.2.3'
gem 'bootstrap-sass', '2.0.0'
gem 'bcrypt-ruby', '3.0.1'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
group :devlopment, :test do
gem 'rspec-rails', '2.9.0'
gem 'guard-rspec', '0.5.5'
gem 'sqlite3'
gem 'annotate'
gem 'factory_girl_rails', '1.4.0'
end
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.4'
gem 'coffee-rails', '~> 3.2.2'
gem 'uglifier', '1.2.3'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platform => :ruby
end
gem 'jquery-rails', '2.0.1'
# 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-debug19', :require => 'ruby-debug'
group :test do
gem 'capybara', '1.1.2'
gem 'rspec-rails', '2.9.0'
gem 'rb-fsevent'
gem 'growl', '1.0.3'
gem 'spork', '0.9.0'
end
group :production do
gem 'pg'
end
It seems the issue is that you have a typo: group :devlopment, :test should be group :development, :test. You can see that all the gems you're using under the "devlopment" group have been installed on Heroku.
See if correcting the spelling will ensure that there's no attempt to use the sqlite3 gem (or any of the other gems in that group) in production.
Heroku doesn't support sqlite3. Instead, you should use gem pg instead.
group :production do
gem 'pg'
end
Similar to Deploying RoR app to Heroku with Sqlite3 fails

Errors of pushing rails app to Heroku error occurred while installing sqlite3, and Bundler cannot continue [duplicate]

This question already has answers here:
Deploying RoR app to Heroku with SQLite 3 fails
(7 answers)
Closed 7 years ago.
I was trying to push my rails app to heroku and received errors as below:
-
Counting objects: 177, done. Delta compression using up to 2 threads.
Compressing objects: 100% (161/161), done. Writing objects: 100%
(177/177), 44.73 KiB, done. Total 177 (delta 39), 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/
Fetching gem metadata from
Fetching gem metadata from
Installing rake (10.0.2)
Installing i18n (0.6.1)
Installing multi_json (1.3.7)
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.12)
Installing mail (2.4.4)
Installing actionmailer (3.2.8)
Installing arel (3.0.2)
Installing tzinfo (0.3.35)
Installing activerecord (3.2.8)
Installing activeresource (3.2.8)
Using bundler (1.2.1)
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)
Installing rails (3.2.8)
Installing sass (3.2.3)
Installing sass-rails (3.2.5)
Installing sqlite3 (1.3.6) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native ex tension.
/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_2pense1pvyqut/vendor/bundle /ruby/1.9.1/gems/sqlite3-1.3.6
for inspection.
Results logged to /tmp/build_2pense1pvyqut/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 co ntinue.
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
=========================================
My GemFile as below:
=======================================
gem 'rails', '3.2.8'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
group :production do gem 'pg' end
group :development, :test do gem 'taps' gem 'rvm'
gem 'rspec-rails','2.0.1' gem 'annotate' gem 'faker','0.3.1' gem 'rspec','2.0.1' gem 'webrat','0.7.1' gem 'spork','0.8.4'
gem 'factory_girl_rails','1.0' end
gem 'rake', '~> 10.0.1'
#gem 'yaml_db'
# 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'
# 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 'debugger'
=======================================
I tried almost all the solutions provided online, but still no luck.
Any help will be greatly appreciated.
I don't see it in your code above, but guessing you probably have your gem 'sqlite3' at the top of your gemfile, so it is being used in all environments. Sqlite is not supported on Heroku so it has be kept out of the production group. Try the following so that you can use sqlite for development and testing and then pg on Heroku.
group :development, :test do
gem 'sqlite3'
end
group :production do
gem 'pg'
end
Had the same issue. Realized that I hadn't committed my changes to Git. Once I committed it and re-pushed it to Heroku, it worked without issue.
The following worked for me on my Mac:
group :development, :test do
gem 'sqlite3'
end
group :production do
gem 'pg'
end
And then
bundle install
but that threw up this error:
can't find the 'libpq-fe.h header *** extconf.rb failed ***
Solved this error using Homebrew as explained here - https://stackoverflow.com/a/20482221/2665896
i.e.
brew install postgresql
gem install pg
Then commit the Gemfile and Gemfile.lock to the local master.
Then git push heroku master worked like a charm.

Stuff-Classifier Gem with heroku

im trying to deploy my ruby code to heroku
this is my Gemfile ,
source 'https://rubygems.org'
gem 'rails', '3.2.6'
gem 'googlecharts'
gem 'stuff-classifier'
gem 'devise'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
group :production do
gem "pg"
end
group :development, :test do
gem "sqlite3"
end
# 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'
and im getting this on push
HengHongs-MacBook-Pro:collab Kinnovate$ git push heroku master
Counting objects: 19, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (16/16), done.
Writing objects: 100% (16/16), 1.44 KiB, done.
Total 16 (delta 11), reused 0 (delta 0)
-----> Heroku receiving push
-----> Removing .DS_Store files
-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.2.0
Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment
Fetching gem metadata from https://rubygems.org/.......
Using rake (0.9.2.2)
Using i18n (0.6.0)
Using multi_json (1.3.6)
Using activesupport (3.2.6)
Using builder (3.0.0)
Using activemodel (3.2.6)
Using erubis (2.7.0)
Using journey (1.0.4)
Using rack (1.4.1)
Using rack-cache (1.2)
Using rack-test (0.6.1)
Using hike (1.2.1)
Using tilt (1.3.3)
Using sprockets (2.1.3)
Using actionpack (3.2.6)
Using mime-types (1.19)
Using polyglot (0.3.3)
Using treetop (1.4.10)
Using mail (2.4.4)
Using actionmailer (3.2.6)
Using arel (3.0.2)
Using tzinfo (0.3.33)
Using activerecord (3.2.6)
Using activeresource (3.2.6)
Using bcrypt-ruby (3.0.1)
Using coffee-script-source (1.3.3)
Using execjs (1.4.0)
Using coffee-script (2.2.0)
Using rack-ssl (1.3.2)
Using json (1.7.5)
Using rdoc (3.12)
Using thor (0.16.0)
Using railties (3.2.6)
Using coffee-rails (3.2.2)
Using orm_adapter (0.4.0)
Using warden (1.2.1)
Using devise (2.1.2)
Using fast-stemmer (1.0.1)
Using googlecharts (1.6.8)
Using jquery-rails (2.1.1)
Installing msgpack (0.4.7) with native extensions
Using pg (0.14.0)
Using bundler (1.2.0)
Using rails (3.2.6)
Using sass (3.2.1)
Using sass-rails (3.2.5)
Installing sequel (3.20.0)
Installing sqlite3 (1.3.6) with native extensions
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_2wrfyq245cb6w/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.6 for inspection.
Results logged to /tmp/build_2wrfyq245cb6w/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
it works fine when i remove stuff-classifier gem from the Gemfile
how do i fix this?
forked the repo and removed sqlite dependancy from gemspec file
added this to gemfile
gem 'stuff-classifier' , :git =>'https://github.com/henghonglee/stuff-classifier'

Resources