Rails 3 - rspec冲突

Bil*_*ell 2 gem rubygems ruby-on-rails-3

我正在研究Michael Hartl(2011)的"Ruby on Rails 3教程:通过示例学习Rails",我遇到了与rspec的冲突.现在,当我尝试运行rspec时,我得到:

rspec spec/
/home/bill44077/.rvm/gems/ruby-1.9.2-p136@global/gems/bundler-1.0.7/lib/bundler/runtime.rb:27:in `block in setup': You have already activated rspec-core 2.5.1, but your Gemfile requires rspec-core 2.4.0. Consider using bundle exec. (Gem::LoadError)
Run Code Online (Sandbox Code Playgroud)

我查看了我的Gemfile,我没有看到rspec的修订要求.我试过了

gem uninstall rspec-rails 
bundle install
Run Code Online (Sandbox Code Playgroud)

但这似乎没有帮助.如果我跑

bundle exec rspec spec/ 
Run Code Online (Sandbox Code Playgroud)

工作正常,但我真的想像以前一样运行自动测试,所以我需要让rspec再次工作.

有什么想法我需要做什么来解决这个版本的问题?

谢谢!!法案

idl*_*ers 7

这是因为即使你没有在gemfile中指定一个版本的rspec,在你的Gemfile.lock中它也会存储版本(在这种情况下看起来像2.4.0).

然后,当您运行该命令时,rspec它尝试使用比锁定版本更新的版本.运行bundle update rspec将更新Gemfile.lock中的"锁定"版本,正如您所发现的那样,将对其进行排序.