我在我的应用程序中使用了rspec-rails 2.11.0,但是当我执行rspec spec/时发生了一些错误。这是一堆错误:
/Users/diego/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:31:in `block in setup': You have already activated rspec-core 2.10.1, but your Gemfile requires rspec-core 2.11.1. Using bundle exec may solve this. (Gem::LoadError)
from /Users/diego/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:17:in `setup'
from /Users/diego/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler.rb:107:in `setup'
from /Users/diego/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/setup.rb:7:in `<top (required)>'
from /Users/diego/.rvm/rubies/ruby-1.9.3-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `require'
from /Users/diego/.rvm/rubies/ruby-1.9.3-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `rescue in require'
from /Users/diego/.rvm/rubies/ruby-1.9.3-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
from /Users/diego/Development/Rails/carros/carros-web/config/boot.rb:6:in `<top (required)>'
from /Users/diego/.rvm/rubies/ruby-1.9.3-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/diego/.rvm/rubies/ruby-1.9.3-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/diego/Development/Rails/carros/carros-web/config/application.rb:1:in `<top (required)>'
from /Users/diego/.rvm/rubies/ruby-1.9.3-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/diego/.rvm/rubies/ruby-1.9.3-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/diego/Development/Rails/carros/carros-web/config/environment.rb:2:in `<top (required)>'
from /Users/diego/.rvm/rubies/ruby-1.9.3-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/diego/.rvm/rubies/ruby-1.9.3-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/diego/Development/Rails/carros/carros-web/spec/spec_helper.rb:3:in `<top (required)>'
from /Users/diego/.rvm/rubies/ruby-1.9.3-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/diego/.rvm/rubies/ruby-1.9.3-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/diego/Development/Rails/carros/carros-web/spec/models/admin_spec.rb:1:in `<top (required)>'
from /Users/diego/.rvm/gems/ruby-1.9.3-head/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:746:in `load'
from /Users/diego/.rvm/gems/ruby-1.9.3-head/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:746:in `block in load_spec_files'
from /Users/diego/.rvm/gems/ruby-1.9.3-head/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:746:in `map'
from /Users/diego/.rvm/gems/ruby-1.9.3-head/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:746:in `load_spec_files'
from /Users/diego/.rvm/gems/ruby-1.9.3-head/gems/rspec-core-2.10.1/lib/rspec/core/command_line.rb:22:in `run'
from /Users/diego/.rvm/gems/ruby-1.9.3-head/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:69:in `run'
from /Users/diego/.rvm/gems/ruby-1.9.3-head/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:10:in `block in autorun'出什么事了?这是我的gem文件https://gist.github.com/3280825
发布于 2012-08-07 11:43:46
发生的情况是,您的rspec应用程序版本与您在全局环境中的版本不同。
当您执行rspec时,似乎正在使用global中的rspec。
让它工作的方法是像@prusswan所说的那样使用bundle exec,它将在应用程序环境中执行该命令(使用适当的gem版本等)。
此外,错误消息还提到要尝试bundle exec
发布于 2012-08-07 21:53:14
由于使用了bundler,尽管错误消息显示要“尝试”bundle exec,但如果您想确保只使用Gemfile/Gemfile.lock中指定的gem版本,则必须使用bundle exec来运行它。另一种替代方法是使用here解释的二进制存根。
https://stackoverflow.com/questions/11838450
复制相似问题