我定義了一個簡單的rake任務來運行我的ruby測試,但問題是rake沒有加載Gemfile中定義的版本的gem。它得到一個Gem::LoadError
。有沒有辦法告訴耙子使用哪個寶石版本?耙測試:寶石加載錯誤
這裏是安裝在我的系統上的寶石:
addressable (2.2.6, 2.2.4)
bundler (1.0.15)
libarchive (0.1.2)
nokogiri (1.5.0)
rake (0.9.2, 0.8.7)
rdf (0.3.3)
,這是我的Gemfile:
source :rubygems
gem 'nokogiri', '1.5.0'
gem 'rdf', '0.3.3'
gem 'addressable', '2.2.4'
gem 'libarchive', '0.1.2'
這裏rake任務:
require 'rake/testtask'
task :default => [:test]
desc "Run basic tests"
Rake::TestTask.new do |test|
test.libs << "test"
test.test_files = Dir["test/test_*.rb"]
test.verbose = true
end
這是例外我得到:
/Users/dummy/.rvm/rubies/ruby-1.9.2-head/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1612:in `raise_if_conflicts': Unable to activate rdf-0.3.3, because addressable-2.2.6 conflicts with addressable (= 2.2.4) (Gem::LoadError)
我可以通過卸載addressable 2.2.6
來解決這個問題,但我需要另一個項目的那個gem的永遠版本。
另一個解決方案可能是使用rvm gemsets。但是,運行一個給定的Gemfile規範是否可以運行rake?
感謝
'捆綁EXPR耙'工作嗎? –
Brian
我爲我的項目設置了不同的rvm gemsets。現在它工作... – behas