【问题标题】:RSpec can't find Cucumber gemRSpec找不到黄瓜宝石
【发布时间】:2010-02-07 01:50:35
【问题描述】:

运行 rspec 时出现以下错误:

no such file to load -- cucumber-rails
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:158:in `require'
/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb:208:in `load'
/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:307:in `load_gems'
/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:307:in `each'
/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:307:in `load_gems'
/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:169:in `process'
/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `send'
/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `run'
/home/amurmann/NetBeansProjects/demandserver/config/environment.rb:10
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
./spec/helpers/../spec_helper.rb:6
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
./spec/helpers/profiles_helper_spec.rb:1
/usr/lib/ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner/example_group_runner.rb:15:in `load'
/usr/lib/ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner/example_group_runner.rb:15:in `load_files'
/usr/lib/ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner/example_group_runner.rb:14:in `each'
/usr/lib/ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner/example_group_runner.rb:14:in `load_files'
/usr/lib/ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner/options.rb:133:in `run_examples'
/usr/lib/ruby/gems/1.8/gems/rspec-1.3.0/lib/spec/runner/command_line.rb:9:in `run'
/usr/lib/ruby/gems/1.8/gems/rspec-1.3.0/bin/spec:5
/usr/bin/spec:19:in `load'
/usr/bin/spec:19
Missing these required gems:
  cucumber-rails  

You're running:
  ruby 1.8.7.174 at /usr/bin/ruby1.8
  rubygems 1.3.5 at /home/amurmann/.gem/ruby/1.8, /usr/lib/ruby/gems/1.8

Run `rake gems:install` to install the missing gems.

我将测试环境设置为需要 rspec、rspec-rails 以及 cucumber。这些都安装好了:

 - [F] has_many_polymorphs 
    - [R] activerecord 
 - [I] rspec >= 1.2.0
 - [I] rspec-rails >= 1.2.0
    - [I] rspec >= 1.3.0
    - [R] rack >= 1.0.0
 - [I] factory_girl 
 - [I] webrat >= 0.4.3
    - [I] nokogiri >= 1.2.0
    - [R] rack >= 1.0
    - [I] rack-test >= 0.5.3
       - [R] rack >= 1.0
 - [I] cucumber-rails 
    - [I] cucumber >= 0.6.2
       - [I] term-ansicolor >= 1.0.4
       - [I] treetop >= 1.4.2
          - [I] polyglot >= 0.2.5
       - [I] polyglot >= 0.2.9
       - [R] builder >= 2.1.2
       - [I] diff-lcs >= 1.1.2
       - [I] json_pure >= 1.2.0
 - [I] database_cleaner >= 0.4.3

I = Installed
F = Frozen
R = Framework (loaded before rails starts)

我已经重新安装了 cucumber 和 rspec,但是错误仍然存​​在。

非常感谢您的帮助!

【问题讨论】:

  • 您好,我想知道您是如何解决的。我在 environment.rb 中提到了我的黄瓜宝石,但我仍然收到此错误。我正在使用 rvm 使用 ruby​​ 1.8.7(p249) 和 rails(2.3.8) 并使用 gemset 维护我的 gem。我可以在我的宝石列表中看到宝石。

标签: ruby-on-rails rubygems rspec cucumber


【解决方案1】:

好的,我自己想通了:

我正在运行的规范文件有一个“需要'cucumber_rails'”。我不知道我是否以及为什么将它放在那里,或者它是否是由某些脚本放在那里的。我删除了它,现在一切正常。

我不确定为什么这会导致问题,但现在它可以工作了。如果有人知道这为什么会引起麻烦,我会很乐意解释一下。

【讨论】:

  • 即使在 spec_helper.rb 中添加了 require 'cucumber_rails' 后,我仍然收到此错误,您能提供更多信息吗
【解决方案2】:

嗯,您确实使用sudo gem install cucumber-rails 安装了gem,对吗?有时这会抛出“东西”。

【讨论】:

  • 不,我是通过 rake gems 安装的:install RAILS_ENV=test 运行 RSpec 后一直报错,我检查并看到安装了两个版本的 RSpec。所以我卸载了两者,以及 Cucumber 并通过 rake gems 重新安装了它们:安装 RAILS_ENV=test。然而它一直在抱怨。另一方面,黄瓜运行良好,仍然运行良好。
【解决方案3】:

我在 Windows XP 上运行稍新的 gem 时遇到了同样的问题,但大部分环境与原始帖子相同。

这就是我所做的:

  1. 尝试取消注释 config.gem cucumber
  2. 如果你有 config.gem cucumber,使用 :lib => false

【讨论】:

  • 好的,这就是我所做的。 1> 尝试取消注释 config.gem cucumber 2> 如果你有 config.gem cucumber,使用 :lib => false
【解决方案4】:

各位,请关注Wiki instructions

【讨论】:

  • Github Cucumber Wiki 似乎有一个很好的 wiki 链接。请注意,Rails 2.x 和 3.x 是不同的......上面的 Wiki 链接涵盖 Rails 2.x,但有一个到 3.x 的链接
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-22
  • 1970-01-01
  • 2013-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多