ruby-on-rails-3 - Rails 3 - rspec 冲突

标签 ruby-on-rails-3 rubygems

我正在学习 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)

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

gem uninstall rspec-rails 
bundle install

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

bundle exec rspec spec/ 

这很好,但我真的想像以前一样运行自动测试,所以我需要让 rspec 像以前一样再次工作。

有什么想法可以解决这个版本问题吗?

谢谢!! 账单

最佳答案

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

然后,当您运行命令 rspec 时,它会尝试使用比锁定版本更新的版本。运行 bundle update rspec 将更新 Gemfile.lock 中的“锁定”版本,如您所见,它将全部解决。

关于ruby-on-rails-3 - Rails 3 - rspec 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5064606/

相关文章:

ruby-on-rails - Rspec 模拟:ActiveRecord::AssociationTypeMismatch

ruby-on-rails - counter_cache 与 has_many :through

ruby - 您的供应商/缓存目录中似乎缺少一些 gem

ruby - 在 ruby​​ 中调用 do block 内的方法

ruby-on-rails - gem install mailcatcher 失败 - 错误 : Error installing mailcatcher: ERROR: Failed to build gem native extension

ruby-on-rails - Rails 3.1 Assets 管道 - 缺少公共(public)/ Assets 中的文件 - 为什么这不是默认值?

sql - Rails 3 中的 ActiveRecord 生成的 SQL

ruby-on-rails - 如何使用停用 Webrick 的 SSL

ruby-on-rails - 找不到您的/home/rails/webapp/Gemfile.lock 所需的 'bundler' (2.1.4)。 (Gem::GemNotFoundException) 运行 docker build

ruby-on-rails - Bundler 无法在任何资源中找到 rake