尝试使用rspec,但是得到了一个错误,即rspec-core 2.2.1已被激活,但我的Gemfile需要rspec-core 2.1.0
我更新了我的gem。 我已经创建了一个示例Rails应用程序,并在我的Gemfile中有以下内容:
source 'http://rubygems.org' gem 'rails', '3.0.3' gem 'sqlite3-ruby', :require => 'sqlite3' group :development do gem 'rspec-rails' end group :test do gem 'rspec' gem 'webrat', '0.7.1' end
但是,当我运行’rspec spec /’时,我收到以下消息:
/home/jeff/.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/runtime.rb:27:in `block in setup': You have already activated rspec-core 2.2.1, but your Gemfile requires rspec-core 2.1.0. Consider using bundle exec. (Gem::LoadError)
尝试使用bundle update rspec
和bundle update rspec-rails
。 位于根目录中的Gemfile.lock
文件可能指定了每个gem的版本号。
Sam Ritchie和Alexey的解决方案相结合,帮助了我。 最后我不得不:
bundle update rspec bundle update rspec-rails sudo gem uninstall rspec-mocks sudo gem uninstall rspec-expectations sudo gem uninstall rspec-core
(如果没有输入,则提示输入版本)
正如Alexey所说,使用它来查看哪些版本太高:
gem list rspec
(会投票给你Alexey,但显然我在筹码上没有足够的“声誉”。)
我现在得到了同样的问题。 尝试修复它:
sudo gem uninstall rspec-core -v 2.2.1 bundle update rspec-core
您可能需要为其他依赖gem(如rspec,rspec-rails等)执行此操作。 使用该命令查看候选人:
gem list rspec
Rails noob here …我正在关注Michael Hartl的精彩教程……坚持布局
尝试更改rspec和webrat版本,如本文中提到的关于rspec / webrat错误无济于事。
对于rspec v2.1.0,我得到与@ user338413相同的错误。
rspec -v返回2.2.1
开发机器运行ubuntu 10.04
已解决….适用于rspec 2.2.0 + webrat 0.7.1,虽然我仍然想知道原因
这很容易解决:
bundle exec rspec
将强制捆绑程序使用您的项目所需的gem版本,忽略系统范围的设置。
在Gemfile.lock中将版本号从2.1.0更改为2.2.1