Рейк 0.9.1 вызывает рейк: db: мигрирует, чтобы вызвать проблему устаревания, не может быть понижен до 0.8.7 - PullRequest
1 голос
/ 09 июня 2011

Я недавно установил пакетную сборку на свой Gemfile и попытался разгрести: db: migrate. Эта миграция не работает, и выводит:

WARNING: Global access to Rake DSL methods is deprecated.  Please include
    ...  Rake::DSL into classes and modules which use the Rake DSL methods.
WARNING: DSL method SampleApp::Application#task called at /Users/joshuaballoch/.rvm/gems/ruby-1.9.2-p180@rails3tutorial3/gems/railties-3.0.3/lib/rails/application.rb:214:in `initialize_tasks'

Я прочитал в другом посте, что мне нужно удалить 0.9.1, но по какой-то причине у меня есть драгоценный камень, требующий 0.9.1 после удаления, поэтому я не знаю, как это исправить. Есть предложения?

К вашему сведению, мой гемфайл:

source 'http://rubygems.org'

gem 'rails', '3.0.3'



gem 'sqlite3-ruby', '1.3.2', :require => 'sqlite3'
gem 'gravatar_image_tag', '1.0.0.pre2'
gem 'will_paginate', '3.0.pre2'



group :development do
    gem 'rspec-rails', '2.3.0'
    gem 'annotate-models', '1.0.4'
    gem 'faker', '0.3.1'
end

group :test do
    gem 'rspec', '2.3.0'
    gem 'webrat', '0.7.1'
    gem 'factory_girl_rails', '1.0'
end

Ответы [ 2 ]

3 голосов
/ 09 июня 2011

Вы пробовали запустить его так: bundle exec rake db:migrate

команда bundle exec запускает ваш запрос в среде, определенной в комплекте, поэтому, если ваши глобальные гемы отличаются, это может помочь.

Если нет, вы можете добавить gem "rake", "0.8.7" в ваш gemfile, bundle install, а затем повторите попытку.Ваша другая зависимость по-прежнему должна соблюдаться, поскольку вы не удаляете 0.9.1, а просто просите bundle exec использовать другую версию.

1 голос
/ 09 июня 2011

Rails 3.0.8 был выпущен вчера и включает "Fixing Rake 0.9.x интеграция" . Стоит попробовать.

...