我之前已将ZenTest添加到我的gemfile中以运行自动测试。在这种情况下,我得到以下错误四次:
saasbook@saasbook:~/Documents/github/LocalSupport$ bundle exec autotest
Invalid gemspec in [/usr/local/lib/ruby/gems/1.9.1/specifications/ZenTest-4.9.0.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
我搜索过这个错误,并在ZenTest的github repo中找到了一些讨论:
https://github.com/seattlerb/zentest/issues/29 https://github.com/seattlerb/zentest/issues/32 https://github.com/seattlerb/zentest/issues/33
我已经遵循了一些建议,卸载并重新安装了ZenTest,但没有任何乐趣。我在ubuntu上运行ruby 1.9.2p290(2011-07-09修订版32553)[i686-linux]
我的整个应用程序都在这里:
https://github.com/tansaku/LocalSupport
所以例如你可以查看我的GemFile:
https://github.com/tansaku/LocalSupport/blob/master/Gemfile
有什么想法吗?
非常感谢提前
答案 0 :(得分:8)
通过编辑
修复此问题/usr/local/lib/ruby/gems/1.9.1/specifications/ZenTest-4.9.0.gemspec
所以指定rubygems版本的行现在是这样的:
s.required_rubygems_version = Gem::Requirement.new("< 2.1") if s.respond_to? :required_rubygems_version=
现在一切正常......
答案 1 :(得分:1)
升级rubygems并重新安装ZenTest(根据Sam写的内容)解决了我的问题,但这又引起了另一个问题:
/Users/neo/.rvm/gems/ruby-1.9.2-p320/gems/bundler-1.2.3/lib/bundler/rubygems_integration.rb:187:in `stub_source_index170': uninitialized constant Gem::SourceIndex (NameError)
我想做的任何事情,从运行自动测试到启动rails服务器,它给了我这个错误。搜索了一下后,我找到了this页面。 似乎最新版本的rubygems有一些bug,因此你不应该将它升级到最新版本,而是将其升级到更稳定的版本,如1.8.24。