Грабли прерваны! Вы уже активировали rake 10.0.2, но ваш Gemfile требует рейка 0.9.2.2
Я пытаюсь сделать "rake db: migrate", и это дает мне эту ошибку.
Andy:AcademyAir Andy$ rake db:migrate
/Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.2.2/lib/bundler/runtime.rb:197: warning: Insecure world writable dir /usr in PATH, mode 040777
rake aborted!
You have already activated rake 10.0.2, but your Gemfile requires rake 0.9.2.2. Using bundle exec may solve this.
/Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.2.2/lib/bundler/runtime.rb:31:in `block in setup'
/Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.2.2/lib/bundler/runtime.rb:17:in `setup'
/Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.2.2/lib/bundler.rb:116:in `setup'
/Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.2.2/lib/bundler/setup.rb:7:in `<top (required)>'
/Users/Andy/Desktop/AcademyAir/config/boot.rb:6:in `<top (required)>'
/Users/Andy/Desktop/AcademyAir/config/application.rb:1:in `<top (required)>'
/Users/Andy/Desktop/AcademyAir/Rakefile:5:in `<top (required)>'
(See full trace by running task with --trace)
Ответы
Ответ 1
Попробуйте bundle exec rake db:migrate
Удалить грабли 10.0.2 драгоценных камней
Используя gem uninstall rake
и удалив 10.0.2
версию грабли графа
И затем попробуйте rake db:migrate
Почему появляется ошибка. В списке gem перечислены две версии (10.0.2 и 0.9.2.2) установки rake gem, чтобы эта ошибка появилась. *
Другое решение - вы можете сделать bundle update
Ответ 2
Для меня я просто побежал bundle update
, и все снова работает правильно.
Ответ 3
Я смог решить это, открыв Gemfile и изменив gem 'rake', '~> 0.9.2.2'
на gem 'rake', '~> 10.0.1'
Ответ 4
В Gemfile
явно задайте последнюю версию рейка:
gem 'rake', '~> 10.0.1'
И затем запустите
$ bundle update rake
Затем попробуйте
Ответ 5
Я столкнулся с той же проблемой.
- Я вставил в свой gemfilen gem 'rake', '~ > 10.0.1' [в вашем случае это должно быть "10.0.2" ]
- Я удалил блокировку gemfile
- Я запускал rake db: миграция снова, и это сработало.
Я получил этот совет здесь: Активированный Ruby RAKE 10.0.1, требуется 10.0.0
Обновление: В моем случае у меня не было дублирования грабли. Я просто имею в своих драгоценных камнях версию 10.0.1.
Ответ 6
Решена такая же проблема, запуская:
bundle update
Это приведет к обновлению вашего грабля до последней версии и позволит выполнить миграцию.
Если вы используете gemset: обязательно запустите bundle install
после обновления рейка, чтобы обновить локальный гемсет.
Ответ 7
Это происходит потому, что вы используете rake из системы. (последняя версия по умолчанию)
Решением является использование команды:
bundle exec rake db:migrate
Кроме того, вы можете создать псевдоним. Поскольку эта команда слишком большая и сложная для записи.
echo "alias be='bundle exec'" >> ~/.bash_profile
source ~/.bash_profile
Затем вы можете использовать следующую команду:
be rake db:migrate
Ответ 8
измените версию, которая расположена как в gemfile, так и на gemlock, на номер версии, показанный на консоли, будет выполнена