Подтвердить что ты не робот

Огуречные рельсы, необходимые за пределами env.rb. Остальная загрузка откладывается до тех пор, пока не будет вызвана env.rb

Что означает эта ошибка env.rb, pls?

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'
4b9b3361

Ответ 1

что как работает пакет, вам нужно добавить :require => false после gem 'cucumber-rails'. Я должен сказать, что сообщение об ошибке немного вводит в заблуждение.

Ответ 2

Предполагается, что вы изолируете свои тестовые камни в группе :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

Лично мне понравилось предложение о драгоценных камнях. Нам действительно не нужны тестовые камни, загруженные в нашу среду разработки.