This question is a bit like this one but its solutions don't work for me. Using RVM, just upgraded to Rails 3.1 rc6. All working surprisingly smoothly except when I attempt to deploy to a new heroku Cedar staging stack I get an error:
-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.1.pre.8
Running: bundle install --without development:test --path vendor/bundle --deployment
Fetching dependency information from the API at http://rubygems.org/......
Fetching dependency information from the API at http://rubygems.org/.
Fetching git://github.com/paneq/calendar_date_select.git
Fetching git://github.com/moiristo/deep_cloneable.git
Fetching git://github.com/madebydna/nested_form.git
Fetching git://github.com/ernie/ransack.git
Installing rake (0.9.2)
Installing RedCloth (4.2.8) with native extensions
Installing ZenTest (4.6.1) Unfortunately, a fatal error has occurred. Please report this error to the Bundler issue tracker at https://github.com/carlhuda/bundler/issues so that we can fix it. Thanks!
/usr/local/lib/ruby/1.9.1/rubygems/installer.rb:170:in `install': ZenTest requires RubyGems version ~> 1.8. Try 'gem update --system' to update RubyGems itself. (Gem::InstallError)
from /tmp/build_1g1g96ub4uas6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.pre.8/lib/bundler/source.rb:92:in `block in install'
from /tmp/build_1g1g96ub4uas6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.pre.8/lib/bundler/rubygems_integration.rb:78:in `preserve_paths'
from /tmp/build_1g1g96ub4uas6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.pre.8/lib/bundler/source.rb:82:in `install'
from /tmp/build_1g1g96ub4uas6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.pre.8/lib/bundler/installer.rb:64:in `block (2 levels) in run'
from /tmp/build_1g1g96ub4uas6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.pre.8/lib/bundler/rubygems_integration.rb:93:in `with_build_args'
from /tmp/build_1g1g96ub4uas6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.pre.8/lib/bundler/installer.rb:63:in `block in run'
from /tmp/build_1g1g96ub4uas6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.pre.8/lib/bundler/installer.rb:55:in `run'
from /tmp/build_1g1g96ub4uas6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.pre.8/lib/bundler/installer.rb:12:in `install'
from /tmp/build_1g1g96ub4uas6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.pre.8/lib/bundler/cli.rb:213:in `install'
from /tmp/build_1g1g96ub4uas6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.pre.8/lib/bundler/vendor/thor/task.rb:22:in `run'
from /tmp/build_1g1g96ub4uas6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.pre.8/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
from /tmp/build_1g1g96ub4uas6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.pre.8/lib/bundler/vendor/thor.rb:263:in `dispatch'
from /tmp/build_1g1g96ub4uas6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.pre.8/lib/bundler/vendor/thor/base.rb:386:in `start'
from /tmp/build_1g1g96ub4uas6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.pre.8/bin/bundle:13:in `<top (required)>'
from vendor/bundle/ruby/1.9.1/bin/bundle:19:in `load'
from vendor/bundle/ruby/1.9.1/bin/bundle:19:in `<main>'
!
! Failed to install gems via Bundler.
!
! Heroku push rejected, failed to compile Ruby/rails app
I've run gem update --syste
m, and gem pristine --all
. I've put all the test gems in group(:development, :test, :cucumber) do
in my gemfile and as you can see from the trace I'm running bundle install without development test. It must be a weird dependency in my Gemfile which is here: anything look off to you?
source 'http://rubygems.org'
# Rails
gem "rails", "3.1.0.rc6"
# ORM
gem 'sqlite3'
gem "sqlite3-ruby", "~> 1.3.3"
# Custom Gemsets
gem 'calendar_date_select', :git => 'git://github.com/paneq/calendar_date_select.git', :branch => 'rails3test'
gem 'client_side_validations', '3.0.5'
gem 'cocoon'
gem 'fastercsv', :platforms => :ruby_18
gem 'formtastic', '~> 1.2.3'
gem 'gravatar_image_tag', '1.0.0.pre2'
gem 'haml'
gem 'jquery-rails'
gem 'nested_form', :git => 'git://github.com/madebydna/nested_form.git'
gem 'nokogiri'
gem 'paperclip', '~> 2.3'
gem 'rails_helpers_fix'
gem 'simple_form'
gem 'simple-tooltip'
gem 'will_paginate', '3.0.pre4'
gem "carrierwave"
gem "ransack", :git => "git://github.com/ernie/ransack.git"
gem "activerecord-import", ">= 0.2.8"
gem "csv_builder"
gem 'pdfkit'
gem 'wkhtmltopdf'
gem "heroku"
gem "rmagick"
gem 'aws-s3'
gem "cancan"
gem "devise"
gem 'deep_cloneable', :git => "git://github.com/moiristo/deep_cloneable.git"
gem 'bundler'
gem "activesupport"
gem "unicorn"
# Rails 3.1 - Asset Pipeline
gem 'json'
gem 'sass'
gem 'coffee-script'
gem 'uglifier'
group(:development, :test, :cucumber) do
gem 'autotest'
gem 'autotest-rails'
gem 'cucumber'
gem 'cucumber-rails'
gem 'factory_girl'
gem 'factory_girl_rails'
gem 'faker'
gem 'launchy'
gem 'rspec'
gem 'rspec-core', :require => 'rspec/core'
gem 'rspec-expectations', :require => 'rspec/expectations'
gem 'rspec-mocks', :require => 'rspec/mocks'
gem 'rspec-rails'
gem 'spork', '>= 0.9.0.rc'
gem 'webrat'
gem 'ZenTest'
end
Okey doke, even though the logs said
Running: bundle install --without development:test --path vendor/bundle --deployment
it wasn't. Running
$ heroku config:add BUNDLE_WITHOUT="development:test" --app appname
Sorted me out. I also did
git rm Gemfile.lock
and bundle install and commit before
git push staging master
which worked, phew. Thanks for your responses, anyway.
Apparently, this ZenTest change is incompatible. Try locking the ZenTest version by adding/changing in your Gemfile
:
gem "ZenTest", "4.6.0"
Works great for me on Cedar whereas the other solutions don't.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With