I need help with the following error. I'm trying to deploy Rails 4 app on Heroku..
It seems like gems can't be installed. Whan can I do about it?
I've tried to solve this using some "googling" solutions but nothing seems to work. And yes I have put sqlite and postgresql in the right group in gemfile (production/developement).
Any thoughts?
Here is the bash procedure when deploying:
Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
Fetching gem metadata from https://rubygems.org/..........
Fetching additional metadata from https://rubygems.org/..
Installing i18n (0.6.9)
Installing multi_json (1.9.2)
Installing minitest (4.7.5)
Installing rake (10.3.1)
Installing builder (3.1.4)
Installing thread_safe (0.3.3)
Installing erubis (2.7.0)
Installing tzinfo (0.3.39)
Installing mime-types (1.25.1)
Installing rack (1.5.2)
Installing polyglot (0.3.4)
Installing activerecord-deprecated_finders (1.0.3)
Installing arel (4.0.2)
Installing coffee-script-source (1.7.0)
Installing execjs (2.0.2)
Installing chunky_png (1.3.1)
Installing thor (0.19.1)
Installing commonjs (0.2.7)
Installing orm_adapter (0.5.0)
Installing hike (1.2.3)
Installing bcrypt (3.1.7)
Installing json (1.8.1)
Using bundler (1.5.2)
Installing libv8 (3.16.14.3)
Installing tilt (1.4.1)
Installing rails_serve_static_assets (0.0.2)
Installing rails_stdout_logging (0.0.3)
Installing ref (1.0.5)
Installing sass (3.2.19)
Installing activesupport (4.0.2)
Installing rack-test (0.6.2)
Installing warden (1.2.3)
Installing treetop (1.4.15)
Installing coffee-script (2.2.0)
Installing rdoc (4.1.1)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/tmp/build_55f006e8-de4b-4dcc-9c81-39f56d6f8f04/vendor/ruby-2.0.0/bin/ruby extconf.rb
checking for sndfile.h in /opt/local/include,/usr/local/include,C:/Program Files (x86)/Mega-Nerd/libsndfile/include,C:/Program Files/Mega-Nerd/libsndfile/include... no
checking for sf_open() in -lsndfile-1... no
checking for sf_open() in -lsndfile... 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_55f006e8-de4b-4dcc-9c81-39f56d6f8f04/vendor/ruby-2.0.0/bin/ruby
--with-sndfile-dir
--without-sndfile-dir
--with-sndfile-include
--without-sndfile-include=${sndfile-dir}/include
--with-sndfile-lib
--without-sndfile-lib=${sndfile-dir}/
--with-sndfile-1lib
--without-sndfile-1lib
--with-sndfilelib
--without-sndfilelib
extconf.rb:21:in `<main>': Can't find libsndfile (http://www.mega-nerd.com/libsndfile/) (RuntimeError)
Try passing --with-sndfile-dir or --with-sndfile-lib and --with-sndfile-include
options to extconf. If there are spaces in the path on windows, it may not work.
Gem files will remain installed in /tmp/build_55f006e8-de4b-4dcc-9c81-39f56d6f8f04/vendor/bundle/ruby/2.0.0/gems/ruby-audio-1.6.1 for inspection.
Results logged to /tmp/build_55f006e8-de4b-4dcc-9c81-39f56d6f8f04/vendor/bundle/ruby/2.0.0/gems/ruby-audio-1.6.1/ext/rubyaudio_ext/gem_make.out
Installing uglifier (2.5.0)
Installing less (2.5.0)
Installing pg (0.17.1)
An error occurred while installing ruby-audio (1.6.1), and Bundler cannot
continue.
Make sure that `gem install ruby-audio -v '1.6.1'` succeeds before bundling.
Bundler Output: Fetching gem metadata from https://rubygems.org/..........
Fetching additional metadata from https://rubygems.org/..
Installing i18n (0.6.9)
Installing multi_json (1.9.2)
Installing minitest (4.7.5)
Installing rake (10.3.1)
Installing builder (3.1.4)
Installing thread_safe (0.3.3)
Installing erubis (2.7.0)
Installing tzinfo (0.3.39)
Installing mime-types (1.25.1)
Installing rack (1.5.2)
Installing polyglot (0.3.4)
Installing activerecord-deprecated_finders (1.0.3)
Installing arel (4.0.2)
Installing coffee-script-source (1.7.0)
Installing execjs (2.0.2)
Installing chunky_png (1.3.1)
Installing thor (0.19.1)
Installing commonjs (0.2.7)
Installing orm_adapter (0.5.0)
Installing hike (1.2.3)
Installing bcrypt (3.1.7)
Installing json (1.8.1)
Using bundler (1.5.2)
Installing libv8 (3.16.14.3)
Installing tilt (1.4.1)
Installing rails_serve_static_assets (0.0.2)
Installing rails_stdout_logging (0.0.3)
Installing ref (1.0.5)
Installing sass (3.2.19)
Installing activesupport (4.0.2)
Installing rack-test (0.6.2)
Installing warden (1.2.3)
Installing treetop (1.4.15)
Installing coffee-script (2.2.0)
Installing rdoc (4.1.1)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/tmp/build_55f006e8-de4b-4dcc-9c81-39f56d6f8f04/vendor/ruby-2.0.0/bin/ruby extconf.rb
checking for sndfile.h in /opt/local/include,/usr/local/include,C:/Program Files (x86)/Mega-Nerd/libsndfile/include,C:/Program Files/Mega-Nerd/libsndfile/include... no
checking for sf_open() in -lsndfile-1... no
checking for sf_open() in -lsndfile... 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_55f006e8-de4b-4dcc-9c81-39f56d6f8f04/vendor/ruby-2.0.0/bin/ruby
--with-sndfile-dir
--without-sndfile-dir
--with-sndfile-include
--without-sndfile-include=${sndfile-dir}/include
--with-sndfile-lib
--without-sndfile-lib=${sndfile-dir}/
--with-sndfile-1lib
--without-sndfile-1lib
--with-sndfilelib
--without-sndfilelib
extconf.rb:21:in `<main>': Can't find libsndfile (http://www.mega-nerd.com/libsndfile/) (RuntimeError)
Try passing --with-sndfile-dir or --with-sndfile-lib and --with-sndfile-include
options to extconf. If there are spaces in the path on windows, it may not work.
Gem files will remain installed in /tmp/build_55f006e8-de4b-4dcc-9c81-39f56d6f8f04/vendor/bundle/ruby/2.0.0/gems/ruby-audio-1.6.1 for inspection.
Results logged to /tmp/build_55f006e8-de4b-4dcc-9c81-39f56d6f8f04/vendor/bundle/ruby/2.0.0/gems/ruby-audio-1.6.1/ext/rubyaudio_ext/gem_make.out
Installing uglifier (2.5.0)
Installing less (2.5.0)
Installing pg (0.17.1)
An error occurred while installing ruby-audio (1.6.1), and Bundler cannot
continue.
Make sure that `gem install ruby-audio -v '1.6.1'` succeeds before bundling.
Failed to install gems via Bundler.
Push rejected, failed to compile Ruby app
To git#heroku.com:quiet-waters-5319.git
[remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git#heroku.com:quiet-waters-5319.git'
seems heroku isn't able to build the native parts of required ruby-audio. After a quick search on "ruby-audio heroku" I found this: https://github.com/khurramzaman/ruby-audio-heroku
Related
Every time I install a Ruby version using RVM, the program also installs some of the default gems to the global gemset.
For example, after installing the version 2.1.0 of Ruby:
€ rvm install 2.1.0
I get the following default gems:
€ gem list
*** LOCAL GEMS ***
bigdecimal (1.2.3)
bundler (1.5.1)
bundler-unload (1.0.2)
executable-hooks (1.2.6)
gem-wrappers (1.2.3)
io-console (0.4.2)
json (1.8.1)
minitest (4.7.5)
psych (2.0.2)
rake (10.1.0)
rdoc (4.1.0)
rubygems-bundler (1.4.2)
rvm (1.11.3.8)
test-unit (2.1.0.0)
As it turned out, in addition to installing rubies RVM always installs the gems which is specified in the file ~/.rvm/gemsets/global.gems to the global gemset (source). Some of the aforementioned gems really are in the file. However, when I remove all the gems from it, the program anyway installs the following:
*** LOCAL GEMS ***
bigdecimal (1.2.3)
gem-wrappers (1.2.3)
io-console (0.4.2)
json (1.8.1)
minitest (4.7.5)
psych (2.0.2)
rake (10.1.0)
rdoc (4.1.0)
test-unit (2.1.0.0)
Why RVM installs all of those gems? What is the necessity of their presence in the system? How can I specify for RVM not to install them after installing a Ruby version?
Debian GNU/Linux 6.0.7
RVM 1.25.12
this gems are part of ruby distribution:
bigdecimal (1.2.3)
io-console (0.4.2)
json (1.8.1)
minitest (4.7.5)
psych (2.0.2)
rake (10.1.0)
rdoc (4.1.0)
test-unit (2.1.0.0)
this gem is part of rvm and is required for rvm to function properly:
gem-wrappers (1.2.3)
I've try the method from others post, but still cannot solve it.
I push my file to heroku but it have some error to the sqlite3.
After I install it, it still didn't work.
Below is my code
Counting objects: 82, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (70/70), done.
Writing objects: 100% (82/82), 3.00 MiB | 238 KiB/s, done.
Total 82 (delta 4), reused 0 (delta 0)
-----> Removing .DS_Store files
-----> Ruby/Rails app detected
-----> 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 https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Installing rake (10.0.4)
Installing i18n (0.6.4)
Installing multi_json (1.7.3)
Installing activesupport (3.2.11)
Installing builder (3.0.4)
Installing activemodel (3.2.11)
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.2)
Installing tilt (1.4.1)
Installing sprockets (2.2.2)
Installing actionpack (3.2.11)
Installing mime-types (1.23)
Installing polyglot (0.3.3)
Installing treetop (1.4.12)
Installing mail (2.4.4)
Installing actionmailer (3.2.11)
Installing arel (3.0.2)
Installing tzinfo (0.3.37)
Installing activerecord (3.2.11)
Installing activeresource (3.2.11)
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.11)
Installing coffee-rails (3.2.2)
Installing jquery-rails (2.2.1)
Using bundler (1.3.2)
Installing rails (3.2.11)
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
--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_2ghtqnawaxqqm/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.7 for inspection.
Results logged to /tmp/build_2ghtqnawaxqqm/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.
!
! Heroku push rejected, failed to compile Ruby/rails app
To git#heroku.com:peaceful-reef-2102.git
! [remote rejected] master -> master (pre-receive hook declined)
And this is my gemfile:
source 'https://rubygems.org'
gem 'rails', '3.2.11'
# 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 '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 don't know what happen, please help me!
Heroku doesn't support sqlite, you need to add pg gem (postgres) and remove sqlite gem
I've made sure that all the files are in the root of the repository as recommended in this discussion. However, as I follow the instructions in this section of the book, I can't get through the section without the problems. What do you think is happening with my system that's causing the error? I have no clue at the moment of what the problem means despite reading the following in the log. Thanks in advance for your help!
stanley#ubuntu:~/rails_sample/first_app$ git push heroku master
Warning: Permanently added the RSA host key for IP address '50.19.85.156' to the list of known hosts.
Counting objects: 96, done.
Compressing objects: 100% (79/79), done.
Writing objects: 100% (96/96), 28.81 KiB, done.
Total 96 (delta 22), 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/ --deployment
Fetching gem metadata from https://rubygems.org/.......
Installing rake (0.9.2.2)
Installing i18n (0.6.0)
Installing multi_json (1.3.5)
Installing activesupport (3.2.3)
Installing builder (3.0.0)
Installing activemodel (3.2.3)
Installing erubis (2.7.0)
Installing journey (1.0.3)
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.3)
Installing mime-types (1.18)
Installing polyglot (0.3.3)
Installing treetop (1.4.10)
Installing mail (2.4.4)
Installing actionmailer (3.2.3)
Installing arel (3.0.2)
Installing tzinfo (0.3.33)
Installing activerecord (3.2.3)
Installing activeresource (3.2.3)
Installing coffee-script-source (1.3.3)
Installing execjs (1.3.2)
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.3)
Installing coffee-rails (3.2.2)
Installing jquery-rails (2.0.2)
Using bundler (1.2.0.pre)
Installing rails (3.2.3)
Installing sass (3.1.18)
Installing sass-rails (3.2.5)
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_3tplrxvj7qa81/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.6 for inspection.
Results logged to /tmp/build_3tplrxvj7qa81/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:growing-mountain-2788.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git#heroku.com:growing-mountain-2788.git'
------Gemfile------------------------
As requested, here's the auto-generated gemfile:
source 'https://rubygems.org'
gem 'rails', '3.2.3'
# 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', :platform => :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 'ruby-debug'
Heroku tries to use postgres automatically. (good thing, as sqlite is NOT suitable for prosuction)
The sqlite scripts are compatible with postgres, so no change is required.
Do this in your Gemfile :
gem "sqlite3", :groups => [:development, :test]
gem "pg", groups => [:production]
Be aware that there might be behavior differences between sqlite and postgres. It is strongly recommended to use postgres on your development environment
see https://devcenter.heroku.com/articles/how-do-i-use-sqlite3-for-development
The problem is missing headers files to sqlite3 on the server and gem cannot build the extension. Do you need sqlite? Try remove it from Gemfile or if this is possible install sqlite3-dev package on the server.
I had this same problem, the problem went away when I completed my push to GitHub.
I needed to complete this step:
$ git remote add origin ...
$ git push -u origin master
After that it pushed to heroku without any problems.
Replace the SQLite gem with postgres's pg gem. Heroku uses Postgres and you don't need SQLite in production mode anyway.
Replace sqlite in your Gemfile with 'gem pg'
Heroku use PostgreSQL, not SQLite.
Follow this instructions to solve your problem https://devcenter.heroku.com/articles/rails3
I get an error after issuing the git push heroku command. This initially looked like something to be solved by using the heroku config command to bundle without the development:test gems. However, I used that command as discussed in this similar writeup [ Heroku's trying to install development gems even after I've told it not to ] and it still doesn't work.
The line "Using --without development:test" in the push message below seems to indicate the BUNDLE_WITHOUT config command worked, so maybe this is a gemfile or other issue?
Thanks!
$ git push heroku
Counting objects: 64, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (42/42), done.
Writing objects: 100% (48/48), 6.03 KiB, done.
Total 48 (delta 15), reused 0 (delta 0)
-----> Heroku receiving push
-----> Rails app detected
-----> Detected Rails is not set to serve static_assets
Installing rails3_serve_static_assets... done
-----> Configure Rails 3 to disable x-sendfile
Installing rails3_disable_x_sendfile... done
-----> Configure Rails to log to stdout
Installing rails_log_stdout... done
-----> Gemfile detected, running Bundler version 1.0.7
Unresolved dependencies detected; Installing...
Using --without development:test
Fetching source index for http://rubygems.org/
Installing rake (0.8.7)
Installing ZenTest (4.5.0)
Installing abstract (1.0.0)
Installing activesupport (3.0.3)
Installing builder (2.1.2)
Installing i18n (0.5.0)
Installing activemodel (3.0.3)
Installing erubis (2.6.6)
Installing rack (1.2.2)
Installing rack-mount (0.6.14)
Installing rack-test (0.5.7)
Installing tzinfo (0.3.25)
Installing actionpack (3.0.3)
Installing mime-types (1.16)
Installing polyglot (0.3.1)
Installing treetop (1.4.9)
Installing mail (2.2.15)
Installing actionmailer (3.0.3)
Installing arel (2.0.9)
Installing activerecord (3.0.3)
Installing activeresource (3.0.3)
Installing autotest (4.4.6)
Installing sys-uname (0.8.5) with native extensions
Installing autotest-fsevent (0.2.5) with native extensions /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/installer.rb:483:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
/usr/ruby1.8.7/bin/ruby extconf.rb
extconf.rb:19: Only Darwin (Mac OS X) systems are supported (RuntimeError)
Gem files will remain installed in /disk1/tmp/build_258oz7hi5972n/.bundle/gems/ruby/1.8/gems/autotest-fsevent-0.2.5 for inspection.
Results logged to /disk1/tmp/build_258oz7hi5972n/.bundle/gems/ruby/1.8/gems/autotest-fsevent-0.2.5/ext/fsevent/gem_make.out
from /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in `each'
from /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in `build_extensions'
from /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/installer.rb:198:in `install'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/source.rb:95:in `install'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/installer.rb:55:in `run'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/spec_set.rb:12:in `each'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/spec_set.rb:12:in `each'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/installer.rb:44:in `run'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/installer.rb:8:in `install'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/cli.rb:225:in `install'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/vendor/thor/task.rb:22:in `send'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/vendor/thor/task.rb:22:in `run'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/vendor/thor.rb:246:in `dispatch'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/vendor/thor/base.rb:389:in `start'
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.7/bin/bundle:13
from /usr/ruby1.8.7/bin/bundle:19:in `load'
from /usr/ruby1.8.7/bin/bundle:19
FAILED: http://devcenter.heroku.com/articles/bundler
! Heroku push rejected, failed to install gems via Bundler
error: hooks/pre-receive exited with error code 1
To git#heroku.com:blooming-mountain-199.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git#heroku.com:blooming-mountain-199.git'
Gemfile...
source 'http://rubygems.org'
gem 'rails', '3.0.3'
gem 'sqlite3', '1.3.3', :require => 'sqlite3'
gem 'gravatar_image_tag', '1.0.0.pre2'
gem 'will_paginate', '3.0.pre2'
gem "nokogiri"
gem "geokit"
gem "rack", "~>1.1"
group :development, :test do
gem 'rspec-rails', '2.5.0'
gem 'annotate-models', '1.0.4'
gem 'faker', '0.3.1'
gem 'autotest-fsevent' if RUBY_PLATFORM =~ /darwin/
gem 'rspec', '2.5.0'
gem 'webrat', '0.7.1'
gem 'spork', '0.9.0.rc4'
gem 'factory_girl_rails', '1.0'
gem 'ZenTest'
gem 'autotest'
gem 'autotest-rails'
gem 'autotest-growl'
end
Well, the problem is clearly with the autotest-fsevent getting loaded when you push to Heroku, which is not Darwin-based. Although you do have a conditional following the gem 'autotest-fsevent' statement, the gem is still trying to load when you deploy to Heroku. There are two likely causes for this.
The first, is that another gem is requiring it. If nothing else, autotest-growl should also be Darwin-only. I'm not sure these are related, but I'd still double-check.
The next issue is to make sure that Gemfile.lock isn't getting pushed. If you last ran bundle install on Darwin, it's possible that the gem got locked into the dependencies that way. git rm Gemfile.lock before you commit and push to Heroku.
Finally, my favored solution is not to use autotest. I'm not sure if that's an option for you, but I found it to be annoying when I did use it I use RSpec and Cucumber. I realize this last suggestion is a non-answer, but I don't like including platform-dependent gems even in testing, just because when you go to staging, little annoyances like this have a tendency of cropping up.
I'm not sure why Rails Tutorial is still using ZenTest and autotest, I don't know anyone who does... that might be changing, a friend went to the Rails Tutorial session at RailsConf and said Michael was actually noting errata during the tutorial, so maybe it'll be different in a future version.
As a final note, out of curiosity, if you are on OS X, how did you install Ruby? It's in a very odd place.
Hi I'm trying to run bundle install on my windows machine it runs fine until it reaches the linecache and then spits out a huge error:
Fetching source index for http://rubygems.org/
Using rake (0.8.7)
Using abstract (1.0.0)
Using activesupport (3.0.3)
Using builder (2.1.2)
Using i18n (0.5.0)
Using activemodel (3.0.3)
Using erubis (2.6.6)
Using rack (1.2.2)
Using rack-mount (0.6.14)
Using rack-test (0.5.7)
Using tzinfo (0.3.26)
Using actionpack (3.0.3)
Using mime-types (1.16)
Using polyglot (0.3.1)
Using treetop (1.4.9)
Using mail (2.2.17)
Using actionmailer (3.0.3)
Using arel (2.0.9)
Using activerecord (3.0.3)
Using activeresource (3.0.3)
Using bundler (1.0.12)
Using thor (0.14.6)
Using railties (3.0.3)
Using rails (3.0.3)
Using render_component_vho (3.0.3)
Using verification (1.0.1)
Using active_scaffold_vho (3.0.19)
Using columnize (0.3.2)
Installing linecache (0.43) with native extensions C:/Ruby192/lib/ruby/site_ruby
/1.9.1/rubygems/installer.rb:533:in `rescue in block in build_extensions': ERROR
: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
C:/Ruby192/bin/ruby.exe extconf.rb
Can't handle 1.9.x yet
*** 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=C:/Ruby192/bin/ruby
Gem files will remain installed in C:/Ruby192/lib/ruby/gems/1.9.1/gems/linecache
-0.43 for inspection.
Results logged to C:/Ruby192/lib/ruby/gems/1.9.1/gems/linecache-0.43/ext/gem_mak
e.out
from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:511:in `b
lock in build_extensions'
from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:486:in `e
ach'
from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:486:in `b
uild_extensions'
from C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:159:in `i
nstall'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/sour
ce.rb:96:in `install'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/inst
aller.rb:55:in `block in run'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/spec
_set.rb:12:in `block in each'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/spec
_set.rb:12:in `each'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/spec
_set.rb:12:in `each'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/inst
aller.rb:44:in `run'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/inst
aller.rb:8:in `install'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/cli.
rb:225:in `install'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/vend
or/thor/task.rb:22:in `run'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/vend
or/thor/invocation.rb:118:in `invoke_task'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/vend
or/thor.rb:246:in `dispatch'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/vend
or/thor/base.rb:389:in `start'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/bin/bundle:13:in
`<top (required)>'
from C:/Ruby192/bin/bundle:19:in `load'
from C:/Ruby192/bin/bundle:19:in `<main>'
I've tried googling for the problem and found two posts that explain the problem that I have first is a Stackoveflow Post which is pretty close to what I've got, but upon further inspection I found that the solution given in that post was not what I needed
another is this post that seems to discuss the exact problem that I have but doesn't give a solution anyone have any idea what I should do??
Ruby Version => 1.9.2
Rails Version => oh come on it doesn't even tell rails version it just prints out another error
Could not find linecache-0.43 in any of the sources
Try running `bundle install`.
any ideas what I'm doing wrong?? any help would be immensely appreciated
You should try installing linecache19 instead of linecache. The gem you are trying to install is incompatible with Ruby version 1.9.2.
This is also suggested by the error message:
Can't handle 1.9.x yet
"debugger" gems has worked more flawless for me lately.
I switched from ruby-debug19 to debugger which installs the dependencies without any hassle.
1.9.2-p136 + RVM. Worked using ruby-debug19 which installs linecache19 as a dependency:
gem install ruby-debug19 -- --with-ruby-include=$rvm_path/src/ruby-1.9.2-p136/