web-dev-qa-db-fra.com

râteau avorté! Vous avez déjà activé le rake 10.0.2, mais votre Gemfile nécessite le rake 0.9.2.2

J'essaie de faire "rake db: migrate" et cela me donne cette erreur.

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)
26
Andy

Essaye ça bundle exec rake db:migrate

Supprimer la gemme du râteau 10.0.2

En utilisant gem uninstall rake et supprimez 10.0.2 version de rake gem

Et puis essayez rake db:migrate

Pourquoi l'erreur vient: Dans votre liste de gemmes, deux versions (10.0.2 et 0.9.2.2) de rake gem installent pour que cette erreur se produise. *

Une autre solution est que vous pouvez faire bundle update

48
Dipak Panchal

Pour moi, je viens de courir bundle update et tout fonctionne à nouveau correctement.

42
csoria

J'ai pu résoudre ce problème en ouvrant Gemfile et en modifiant gem 'rake', '~> 0.9.2.2' à gem 'rake', '~> 10.0.1'

6
user1817421

Dans votre Gemfile, définissez explicitement la dernière version de râteau en:

gem 'rake', '~> 10.0.1'

Et puis exécutez

$ bundle update rake

Puis essayez

4
Sandeep Roniyaar

Je viens de rencontrer le même problème.

  1. J'ai inséré dans mon gemfilen gem 'rake', '~> 10.0.1' [dans votre cas, il devrait être '10 .0.2 ']
  2. J'ai supprimé mon verrou de gemfile
  3. J'ai de nouveau exécuté rake db: migration et cela a fonctionné.

J'ai eu cette astuce ici: Activé Ruby RAKE 10.0.1, nécessite 10.0.

Mise à jour: Dans mon cas, je n'ai pas dupliqué le râteau. J'ai juste dans mes gemmes la version 10.0.1.

3
Rogério Alexandre

Résolu le même problème en exécutant:

bundle update

Cela mettra à jour votre gemme de râteau vers la dernière version et vous permettra d'exécuter la migration.

Si vous utilisez un jeu de gemmes: assurez-vous d'exécuter bundle install après avoir mis à jour rake pour mettre à jour votre jeu de gemmes local également.

2
yellowaj

Cela se produit parce que vous utilisez rake du système. (dernière version par défaut) La solution est d'utiliser la commande follow:

bundle exec rake db:migrate

Vous pouvez également créer un alias. Parce que cette commande est trop grosse et difficile à écrire.

echo "alias be='bundle exec'" >> ~/.bash_profile
source ~/.bash_profile

Ensuite, vous pouvez utiliser la commande follow short:

be rake db:migrate
1
mrded

changer la version qui se trouvait à la fois dans le gemfile et le gemlock au numéro de version affiché dans la console, ce sera fait

0
Richard Chen