2011-07-25 80 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