обновленное приложение rails 3 rake db: ошибка сброса - PullRequest
0 голосов
/ 08 января 2011

Я обновил приложение rails 2.3.8 до rails 3. Когда я запускаю команду rake db: reset, она возвращает следующую ошибку

рейк отменен! Тест-блок не входит в комплект. Добавьте его в Gemfile. / Пользователи / Shenario / Desktop / stack24 / Rakefile: 7: in `' (Смотрите полную трассировку, запустив задачу с --trace)

Я новичок в рельсах, и я буду рад, если вы, ребята, сможете мне помочь! спасибо!

след -

грабли прерваны! Тест-блок не входит в комплект. Добавьте его в Gemfile. /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/gems/bundler-1.0.7/lib/bundler/shared_helpers.rb:102:in block in cripple_rubygems' /Users/Shenario/Desktop/stack24/lib/tasks/rspec.rake:1:in ' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/engine.rb:131:in load' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/engine.rb:131:in блок в load_tasks ' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/engine.rb:131:in each' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/engine.rb:131:in load_tasks ' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:141:in load_tasks' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:77:in method_missing ' / Пользователи / Shenario / Desktop / stack24 / Rakefile: 7: in <top (required)>' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:2383:in load ' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:2383:in raw_load_rakefile' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:2017:in блок в load_rakefile ' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:2068:in standard_exception_handling' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:2016:in load_rakefile ' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:2000:in block in run' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:2068:in standard_exception_handling ' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake.rb:1998:in run' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/bin/rake:31:in ' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/bin/rake:19:in load' /Users/Shenario/.rvm/gems/ruby-1.9.2-p136/bin/rake:19:in '

Ответы [ 3 ]

4 голосов
/ 19 января 2011

После поиска «test-unit», нашел это:

gem 'test-unit', '2.0.7' if RUBY_VERSION.to_f >= 1.9

в lib / tasks / rspec.rake

Я подозревал, что это вызвано тем, что я скопировал всю папку libот старой версии rails до новой.

Решение: удалил этот файл, после этого все вроде бы работает нормально.

В основном я предлагаю вам взглянуть на lib / tasks и посмотреть, есть ли рейкзадачи, несовместимые с рельсами 3.

0 голосов
/ 16 июня 2011

Добавьте это в свой Gemfile (заменив VERSION на нужный номер версии).

gem 'test-unit', 'VERSION', :platform => :ruby_19

Для Rails 2.3.11 мне нужна была версия 1.2.3 гема test-unit.

0 голосов
/ 08 января 2011

должно быть не менее

gem "rails", "~> 3.0.3"

в вашем Gemfile, затем удалите Gemfile.lock (если есть) и запустите:

bundle check

если вам нужно пропустить драгоценные камни, запустите:

bundle install

bundler установит все необходимые гемы хотя бы для rails 3.0.3, включая гем тестового модуля. Кстати, помните, что переход с rails 2.3.x на 3.0.x в большинстве случаев требует некоторых изменений кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...