2012-03-20 14 views
21

Lỗi này là gì env.rb có nghĩa là, xin vui lòng?Đường ray dưa chuột được yêu cầu bên ngoài env.rb. Phần còn lại của tải đang được trì hoãn cho đến khi env.rb được gọi là

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 

Các gemfile là ở đây:

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

hãy hiển thị gemfile của bạn. – uday

+0

vừa thêm, cảm ơn! –

Trả lời

52

đó chỉ là cách bundler hoạt động, bạn cần phải thêm :require => false sau gem 'cucumber-rails'. Tôi phải nói rằng thông báo lỗi là một chút sai lầm.

+0

cảm ơn, nó hoạt động! –

+0

Thực ra, nó không gây hiểu lầm. Nó gợi ý rằng bạn tạo một nhóm ': test' bị cô lập với đá quý thử nghiệm, nó sạch hơn việc thêm': require => false' vào chúng, IMO. –

+23

Tôi đã tìm thấy trong các ứng dụng của tôi thậm chí có nó bên trong một nhóm thử nghiệm cụ thể vẫn tạo ra lỗi này, và ': require => false' là cách duy nhất để làm cho lỗi nó biến mất. YMMV –

4

Điều này gợi ý rằng bạn cô lập đá quý thử nghiệm của mình trên một nhóm :test. Gemfile của bạn sẽ trông giống như sau:

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 

Cá nhân tôi thích đề xuất của đá quý. Chúng tôi thực sự không cần đá quý thử nghiệm được tải trên môi trường phát triển của chúng tôi.

+0

Điều này đã không loại bỏ cảnh báo cho tôi, nhưng: require => false sau khi gem 'dưa chuột-ray' cố định vấn đề. –

+0

Giống như travis-146, điều này cũng không hiệu quả đối với tôi, nhưng: require => false. – y0mbo

Các vấn đề liên quan