Yesterday I had asked a question about pushing Heroku.. it wasn’t working, and then suddenly started working. I changed nothing. Now on a new app, I’m having the exact same problem. I’ve decided to include my entire Gemfile in hopes that I can continue on without this incredible frustration
source 'https://rubygems.org'
gem 'rails', '3.2.11'
group :production, :staging do
gem "pg"
end
group :development, :test do
gem "sqlite3-ruby", "~> 1.3.0", :require => "sqlite3"
end
group :development do
gem 'rspec-rails', '2.3'
end
group :test do
gem 'rspec-rails', '2.3'
end
# 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'
After updating the gem file I ran:
$bundle install
$git add Gemfile
$git add Gemfile.lock
$git git commit -m "message"
$git push heroku master
Still I’m getting this error though
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:warm-dusk-1436.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:warm-dusk-1436.git'
It looks like it’s having trouble installing the
sqlite3gem, which is specified in your Gemfile to be installed in all environments, even though Heroku won’t use it.Try moving
gem 'sqlite3'to the development group so that your production environment doesn’t attempt to install it.