这个问题有点像this one,但它的解决方案不适合我。使用RVM,刚刚升级到Rails 3.1 rc6。所有工作都异常顺利,除非我尝试部署到新的heroku Cedar登台堆栈时,我得到了一个错误:
-----> 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我已经运行过gem update --system和gem pristine --all。我已经将group(:development, :test, :cucumber) do中的所有测试gem放在了我的gemfile中,正如您从跟踪中看到的那样,我在没有进行开发测试的情况下运行bundle install。这一定是我的Gemfile中的一个奇怪的依赖,它在这里:有什么看起来不对劲的吗?
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发布于 2011-08-22 02:03:56
好的,尽管日志上说
Running: bundle install --without development:test --path vendor/bundle --deployment不是的。跑步
$ heroku config:add BUNDLE_WITHOUT="development:test" --app appname解决了我的问题。我也这么做了
git rm Gemfile.lock和捆绑包安装和提交之前
git push staging master成功了,呼。无论如何,感谢您的回复。
发布于 2011-12-24 01:46:37
显然,this ZenTest change是不兼容的。尝试通过在Gemfile中添加/更改来锁定ZenTest版本
gem "ZenTest", "4.6.0"在Cedar上对我来说效果很好,而其他解决方案就不行了。
发布于 2011-08-20 16:36:31
尝试更改:
gem 'rake'转到
gem 'rake', '~> 0.8.7'在你的Gemfile里。
https://stackoverflow.com/questions/7130669
复制相似问题