2013-02-21 37 views
3

我以前已將ZenTest添加到我的gem文件中以運行自動測試。藉此機會,我得到以下錯誤的四倍以上:ZenTest錯誤阻止自動測試運行

[email protected]:~/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庫的討論:

https://github.com/seattlerb/zentest/issues/29 https://github.com/seattlerb/zentest/issues/32 https://github.com/seattlerb/zentest/issues/33

我已經遵循了一些建議,卸載並重新安裝ZenTest,但沒有喜悅。我的Ubuntu上運行紅寶石1.9.2p290(2011-07-09修訂32553)[i686的Linux的]

我的整個應用程序可以在這裏找到:

https://github.com/tansaku/LocalSupport

因此,例如,你可以檢查從我的Gemfile:

https://github.com/tansaku/LocalSupport/blob/master/Gemfile

任何想法?

很多感謝

+0

我在尋找同樣的東西。你有報告嗎? – maasha 2013-02-27 10:59:45

+0

我看到它的報告和關閉在上面鏈接到較舊的問題 - 不知道如何有效地報告它... – 2013-02-27 14:59:58

+0

@maasha我注意到github現在有一個問題:https://github.com/seattlerb/ zentest/issues/40 – 2013-05-14 16:10:56

回答

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= 

現在一切都正常運行......

+0

這是一個解決方法,但它適用於我,所以我投了贊成票。 – dcorking 2013-03-20 10:32:27

+0

更穩定的修復程序似乎是:「升級rubygems,卸載zentest並重新安裝zentest。」似乎至少在一個系統上爲我工作 – 2013-05-20 09:09:21

1

升級RubyGems的,並重新安裝ZenTest(根據什麼山姆寫道)解決了我的問題,但它使我另一個問題:

/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) 

任何我想做的事情,從運行自動測試起始軌服務器,它給了我那個錯誤。搜索了一下後,我發現this頁面。 看來最新版本的rubygems有一些bug,所以你不應該將它升級到最新版本,而應該將它升級到更穩定的1.8.24版本。

+0

相反,您可以更新您的捆綁軟件來解決問題。 – NEO 2013-08-21 17:00:23