我正在尝试使用以下Gemfile在rails 2.3.11(gem -v = 1.6.2)上安装黄瓜
group :test do gem 'fabrication' gem 'cucumber' gem 'cucumber-rails' end
捆绑安装成功,但我找不到'黄瓜'生成器。
bundle exec script/generate cucumber /Users/Tim/.rvm/gems/ree-1.8.7-2011.03@new_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/ree-1.8.7-2011.03@new_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
任何想法都非常感激。我在跑步: ruby 1.8.7(2011-02-18 patchlevel 334)[i686-darwin10.7.0],MBARI 0x6770,Ruby Enterprise Edition 2011.03
添
答案 0 :(得分:2)
当您运行生成器时,它们实际上是在development
环境中运行,而不是test
。因此,不会加载这些依赖项。把它们放在这样一个组中:
group :development, :test do
gem 'cucumber-rails'
...
end
其次,您不需要指定cucumber
以及cucumber-rails
,因为cucumber
gem是cucumber-rails
gem的依赖项,将自动包含在内
答案 1 :(得分:2)
根据cucumber-rails文档,generate命令应为cucumber:install
,而不仅仅是cucumber
。它还说它适用于Rails 3,但不确定这是否属实。
答案 2 :(得分:1)
首先想到的是升级你的ruby版本。从长远来看,随着新宝石变得依赖于红宝石1.9.2,这将解决更多问题。安装RVM并使用它来管理不同的ruby版本和gem集。
第二件事是做错误所说的。
gem sources
这将告诉你你有哪些宝石和宝石。像这样:
*** CURRENT SOURCES ***
http://rubygems.org/
如果您知道托管特定gem的位置,则可以将这些源添加到bundler文件的顶部。通常您需要的只是http://rubygems.org/。
但您也可以使用以下方法将其直接添加到您的来源:
gem sources:add `http://rubygems.org/`