首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Heroku,ZenTest和RubyGems

Heroku,ZenTest和RubyGems
EN

Stack Overflow用户
提问于 2011-08-20 16:27:44
回答 3查看 2.2K关注 0票数 4

这个问题有点像this one,但它的解决方案不适合我。使用RVM,刚刚升级到Rails 3.1 rc6。所有工作都异常顺利,除非我尝试部署到新的heroku Cedar登台堆栈时,我得到了一个错误:

代码语言:javascript
复制
-----> 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中的一个奇怪的依赖,它在这里:有什么看起来不对劲的吗?

代码语言:javascript
复制
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
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-22 02:03:56

好的,尽管日志上说

代码语言:javascript
复制
Running: bundle install --without development:test --path vendor/bundle --deployment

不是的。跑步

代码语言:javascript
复制
$ heroku config:add BUNDLE_WITHOUT="development:test" --app appname

解决了我的问题。我也这么做了

代码语言:javascript
复制
git rm Gemfile.lock

和捆绑包安装和提交之前

代码语言:javascript
复制
git push staging master

成功了,呼。无论如何,感谢您的回复。

票数 4
EN

Stack Overflow用户

发布于 2011-12-24 01:46:37

显然,this ZenTest change是不兼容的。尝试通过在Gemfile中添加/更改来锁定ZenTest版本

代码语言:javascript
复制
gem "ZenTest", "4.6.0"

在Cedar上对我来说效果很好,而其他解决方案就不行了。

票数 4
EN

Stack Overflow用户

发布于 2011-08-20 16:36:31

尝试更改:

代码语言:javascript
复制
gem 'rake'

转到

代码语言:javascript
复制
gem 'rake', '~> 0.8.7'

在你的Gemfile里。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7130669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档