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)
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
Pour moi, je viens de courir bundle update
et tout fonctionne à nouveau correctement.
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'
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
Je viens de rencontrer le même problème.
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.
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.
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
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