无法找到所需的service_manager gem

时间:2011-12-04 03:25:28

标签: ruby gem cucumber

我正在研究The Cucumber Book中的一些黄瓜测试。我有代码尝试使用事务处理器,并且有一个包含以下代码的文件:

require 'service_manager'

ServiceManager.start

这是在使用Ruby 1.9.2的Mac OS X 10.6.8上。当这个文件执行时,我得到以下内容:

no such file to load -- service_manager (LoadError)
/opt/local/lib/ruby1.9/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `require'
/opt/local/lib/ruby1.9/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `rescue in require'
/opt/local/lib/ruby1.9/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
/Users/gpollice/MyCucumber/ATMBookExample/features/support/services.rb:6:in `<top (required)>'
/opt/local/lib/ruby1.9/gems/1.9.1/gems/cucumber-1.1.2/lib/cucumber/rb_support/rb_language.rb:143:in `load'
/opt/local/lib/ruby1.9/gems/1.9.1/gems/cucumber-1.1.2/lib/cucumber/rb_support/rb_language.rb:143:in `load_code_file'
/opt/local/lib/ruby1.9/gems/1.9.1/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:171:in `load_file'
/opt/local/lib/ruby1.9/gems/1.9.1/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:83:in `block in load_files!'

service_manager gem安装在/opt/local/lib/ruby1.9/gems/1.9.1/gems中,应用程序使用的其他gem也是如此。在我添加此迭代的代码之前,没有任何问题。我找到了为什么没有找到宝石的原因,只是无法找出原因。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这似乎是一个加载路径问题。

在此require语句之前是否需要调用“rubygems”?

此外,如果您正在使用bundler,则必须将此gem添加到Gemfile中,因为bundler会尝试对依赖项进行沙箱处理。如果您正在使用bundler,请在将gem添加到Gemfile后尝试以下操作:

bundle exec rake cucumber