我试图用rspec在TestFirst.org上做实验。我已经安装了rspec并在项目目录中启动了它。但是,当我" rake"我收到此错误消息:
Could not find 'rspec' <~> 2) - did find: [rspec-3.0.0]
C:/Sites/RubyTest/RubyTesting/learn_ruby/rakefile:2:in `<top (required)>´
我的版本:
ruby 1.9.3p545
rails 4.1.1
rspec 3.0.2
似乎我得到了错误版本的rspec或其他东西。我的操作系统是Windows 7顺便说一句。
这是rakefile的内容:
gem 'rspec', '~>2'
require 'rspec/core/rake_task'
task :default => :spec
desc "run tests for this lab"
RSpec::Core::RakeTask.new do |task|
lab = Rake.application.original_dir
task.pattern = "#{lab}/*_spec.rb"
task.rspec_opts = [ "-I#{lab}", "-I#{lab}/solution", '-f documentation', '-r ./rspec_config']
task.verbose = false
end
答案 0 :(得分:1)
这是因为rspec ~3.0.0
已激活且您的佣金文件需要'rspec', '~>2'
。更改Rakefile中的rspec版本以解决此问题。
gem 'rspec', '~>3'
答案 1 :(得分:0)
您的rspec(3.0.2)安装版本似乎比项目预期的版本(~2.x)更新。
解决问题的一种简单方法是强制捆绑使用项目版本:
bundle exec rake
(而不仅仅是使用rake)