2011-07-25 41 views
3

我试图安装在轨道上黄瓜2.3.11(GEM -v = 1.6.2)具有以下的Gemfile捆绑安装黄瓜发电机没有找到

 
group :test do 
    gem 'fabrication' 
    gem 'cucumber' 
    gem 'cucumber-rails' 
end 

捆绑安装是成功的,但我不能找到'黄瓜'发电机。

 
bundle exec script/generate cucumber 
/Users/Tim/.rvm/gems/[email protected]_horizons/gems/rails-2.3.11/lib/rails_generator/lookup.rb:212:Warning: Gem::cache is deprecated and will be removed on or after August 2011. Use Gem::source_index. 
/Users/Tim/.rvm/gems/[email protected]_horizons/gems/rails-2.3.11/lib/rails_generator/lookup.rb:234:Warning: Gem::cache is deprecated and will be removed on or after August 2011. Use Gem::source_index. 
Couldn't find 'cucumber' generator 

任何想法非常感谢。我运行: 红宝石1.8.7(2011-02-18 PATCHLEVEL 334)的i686-darwin10.7.0],MBARI 0x6770,Ruby企业版2011.03

回答

2

当你运行发电机他们实际上是在development环境中运行,而不是test。因此这些依赖不会被加载。把它们放在一个组像这个:

group :development, :test do 
    gem 'cucumber-rails' 
    ... 
end 

其次,你并不需要指定cucumber以及cucumber-rails,为cucumber宝石是cucumber-rails宝石的依赖,将被自动包含。

+0

优秀的想法 - 谢谢! – bonhoffer

+0

但这些更改后仍然无效,包括脚本/生成cucumber:install以及脚本/生成cucumber以及使用bundle exec。 。 。有什么想法吗? – bonhoffer

1

首先想到的是升级你的ruby版本。从长远来看,这将解决更多的问题,因为新的宝石变得依赖于Ruby 1.9.2。安装RVM并使用它来管理您的不同ruby版本和宝石套装。

第二件事是做错误说的话。

gem sources 

这会告诉你你有哪些味道和宝石。事情是这样的:

*** CURRENT SOURCES *** 

http://rubygems.org/ 

如果你知道你的具体宝石被托管,那么你可以添加这些资源到您的打捆文件的顶部。通常你需要的是http://rubygems.org/

但你也可以直接用这个把它添加到你的源代码:

gem sources:add `http://rubygems.org/` 
+0

我真的很感谢你的评论,但我现在不想改变生产环境,我不确定1.9.2是否适用于2.3.11。此外,宝石来源:添加'http://'是否添加源到我的Gemfile,我不清楚,对不起 – bonhoffer

2

根据黄瓜护栏文档中,生成命令应该是cucumber:install,不只是cucumber。它也表示这是针对Rails 3的,不确定这是否是真的。

+0

耶 - 这只是让我:找不到'黄瓜:安装'发电机有和没有捆绑exec – bonhoffer

+0

加,这不是我在这些文档中看到的:https://github.com/cucumber/cucumber/wiki/Ruby-on-Rails – bonhoffer