2012-03-20 5 views
21

これは何ですかenv.rbエラー、pls?キュウリレールはenv.rbの外に必要です。残りの負荷はenv.rbが呼び出されるまで無視されています

root# rake db:migrate 
WARNING: Cucumber-rails required outside of env.rb. The rest of loading is being defered until env.rb is called. 
    To avoid this warning, move 'gem cucumber-rails' under only group :test in your Gemfile 

gemfileはここにある:

source 'http://rubygems.org' 

gem 'rails', '3.1.0' 

# Bundle edge Rails instead: 
# gem 'rails',  :git => 'git://github.com/rails/rails.git' 

# for Heroku deployment - as described in Ap. A of ELLS book 
group :development, :test do 
    gem 'sqlite3' 
    gem 'ruby-debug19', :require => 'ruby-debug' 
    gem 'cucumber-rails' 
    gem 'cucumber-rails-training-wheels' 
    gem 'database_cleaner' 
    gem 'capybara' 
    gem 'launchy' 
end 
group :production do 
# gem 'pg' 
end 

# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'therubyracer'    
    gem 'sass-rails', " ~> 3.1.0" 
    gem 'coffee-rails', "~> 3.1.0" 
    gem 'uglifier' 
end 

gem 'jquery-rails' 

# Use unicorn as the web server 
# gem 'unicorn' 

# Deploy with Capistrano 
# gem 'capistrano' 

# To use debugger 
gem 'haml' 
+0

あなたのgemfileを見せてください。 – uday

+0

を追加しました。ありがとう! –

答えて

52

バンドラの働きどれだけだと、あなたはgem 'cucumber-rails':require => falseを追加する必要があります。私はエラーメッセージが少し誤解を招くと言わなければならない。

+0

ありがとう、それは動作します! –

+0

実際、誤解を招くことはありません。これは ':test'グループに':require => false'を追加するよりも綺麗なテスト宝石でIMOを作成することを示唆しています。 –

+23

私のアプリでは、特定のテストグループの中にこのエラーが発生しているにもかかわらず、 ':require => false'がエラーを消すための唯一の方法です。 YMMV –

4

:testグループにテスト宝石を隔離することをお勧めします。あなたのGemfileは、次のように表示されます。

group :development, :test do 
    gem 'sqlite3' 
    gem 'ruby-debug19', :require => 'ruby-debug' 
    gem 'launchy' 
end 

group :test do 
    gem 'cucumber-rails' 
    gem 'cucumber-rails-training-wheels' 
    gem 'database_cleaner' 
    gem 'capybara' 
end 

私は個人的に、この宝石の提案が好きでした。開発環境にロードされたテスト・ジェムは実際には必要ありません。

+0

これは私のための警告を取り除いていませんでしたが、gem 'cucumber-rails'が問題を修正した後、require => falseになりました。 –

+0

travis-146と同様に、これは私にとってはうまくいきませんでしたが、require => falseでした。 – y0mbo

関連する問題