rake db: миграция прерывается из-за разницы в версии rake

Я получаю сообщение об ошибке

rake db:migrate --trace
rake aborted!
You have already activated rake 10.1.1, but your Gemfile requires rake 10.1.0. Using bundle exec may solve this.
/Users/iang/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/runtime.rb:33:in `block in setup'
/Users/iang/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/runtime.rb:19:in `setup'
/Users/iang/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler.rb:120:in `setup'
/Users/iang/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/setup.rb:7:in `<top (required)>'
/Users/iang/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:116:in `require'
/Users/iang/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:116:in `rescue in require'
/Users/iang/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:122:in `require'
/Users/iang/code/Projects/work/startco/config/boot.rb:4:in `<top (required)>'
/Users/iang/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:51:in `require'
/Users/iang/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:51:in `require'
/Users/iang/code/Projects/work/startco/config/application.rb:1:in `<top (required)>'
/Users/iang/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:51:in `require'
/Users/iang/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:51:in `require'
/Users/iang/code/Projects/work/startco/Rakefile:4:in `<top (required)>'
/Users/iang/.rvm/gems/ruby-2.0.0-p247/gems/rake-10.1.1/lib/rake/rake_module.rb:25:in `load'
/Users/iang/.rvm/gems/ruby-2.0.0-p247/gems/rake-10.1.1/lib/rake/rake_module.rb:25:in `load_rakefile'
/Users/iang/.rvm/gems/ruby-2.0.0-p247/gems/rake-10.1.1/lib/rake/application.rb:637:in `raw_load_rakefile'
/Users/iang/.rvm/gems/ruby-2.0.0-p247/gems/rake-10.1.1/lib/rake/application.rb:94:in `block in load_rakefile'
/Users/iang/.rvm/gems/ruby-2.0.0-p247/gems/rake-10.1.1/lib/rake/application.rb:165:in `standard_exception_handling'
/Users/iang/.rvm/gems/ruby-2.0.0-p247/gems/rake-10.1.1/lib/rake/application.rb:93:in `load_rakefile'
/Users/iang/.rvm/gems/ruby-2.0.0-p247/gems/rake-10.1.1/lib/rake/application.rb:77:in `block in run'
/Users/iang/.rvm/gems/ruby-2.0.0-p247/gems/rake-10.1.1/lib/rake/application.rb:165:in `standard_exception_handling'
/Users/iang/.rvm/gems/ruby-2.0.0-p247/gems/rake-10.1.1/lib/rake/application.rb:75:in `run'
/Users/iang/.rvm/gems/ruby-2.0.0-p247/gems/rake-10.1.1/bin/rake:33:in `<top (required)>'
/Users/iang/.rvm/gems/ruby-2.0.0-p247/bin/rake:23:in `load'
/Users/iang/.rvm/gems/ruby-2.0.0-p247/bin/rake:23:in `<main>'

использовал комплект, и он не устранил проблему … есть идеи, как помочь решить эту проблему?

пропущена часть exec, запуск пакета exec rake db: migrate сработал   —  person iang    schedule 21.12.2013

См. также:  Rails сохраняет объект внутри метода
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 8
  1. iang

    Вы хотите использовать bundle exec:

    bundle exec rake db:migrate
    

    Или, если вы используете binstubs Rails 4:

    ./bin/rake db:migrate
    

    Не могли бы вы помочь мне понять природу сообщения об ошибке? В моих приложениях rails обычно нормально работает команда rake, но в недавнем учебном проекте я столкнулся с этой проблемой и не понимаю, почему (Rails 4.0.1, Ruby 2.0.0, Gem 2.0.3, работающий на Ubuntu 12.04 ). Я невольно «активировал» новые грабли? (Как мне это сделать?) И почему это путает интерпретатор / Gemfile? person iang; 23.12.2013

    Конечно. У драгоценных камней есть разные версии (как известно). Приложение Rails запрашивает версию Rake x, но версия Rake y является первой в пути загрузки. Итак, Ruby не может активировать правильную версию. Bundler решает эту проблему. person iang; 24.12.2013

  2. iang

    Я попал в ту же ошибку. Запуск bundle update решил это.

    Обновление: по предложению TuK bundle update rake — это правильный путь.

    Да — это решает проблему несоответствия версии. Это правильный ответ! person iang; 26.12.2013

    Запуск bundle update может обновить больше, чем нужно. Запуск bundle update rake обновит только рейк. person iang; 15.01.2014

    Thx TuK, звучит разумно. person iang; 16.01.2014

  3. iang

    Я получил это сообщение об ошибке при развертывании в производственной среде с помощью capistrano. Чтобы исправить это, я выполнил на своем рабочем сервере следующее:

    gem update rake
    

    Я использовал gem uninstall rake. Вам будет предложено выбрать версию, которую вы хотите удалить. это помогло мне вернуться к версии 10.1.0. В любом случае идея @ Goodfellow помогла мне найти это, так что +1 person iang; 19.02.2014

  4. iang

    Вы можете запустить эту команду

    bundle exec rake db:migrate
    
  5. iang

    bundle update rake исправил проблему для меня.

  6. iang

    просто установите старую версию командой: gem install rake -v ’10 .1.0 ‘

  7. iang

    У меня была та же ошибка, но запуск bundle update rake не помог мне. Этот ответ сработал для меня. Вам необходимо удалить свой Gemfile.lock:

    rm Gemfile.lock
    

    затем соберите:

    bundle install
    
  8. iang

    Я получил ответ. Почему мы получили эту ошибку? Для граблей версия нашей ОС отличается от версии нашего проекта. Когда мы устанавливаем то же самое. Все наладилось!

    В нашем Gemfile установлена ​​такая же версия светового пути. И убедитесь, что у всех проектов одинаковые грабли!

    gem 'rake', '10.2.2' #forking error! force the version the same with our OS and all projects!!!
    

    Надеюсь, вы понимаете, что я сказал, и настоящую причину этой ошибки. Тогда у нас будет больше разрешений, таких как «рейк обновления пакета». Спасибо!

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: