Voici mon erreur:
rake aborted!
Gem::LoadError: You have already activated rake 10.3.1, but your Gemfile requires rake 10.2.2. Prepending `bundle exec` to your command may solve this.
/Users/AaronWilliamson/.gem/Ruby/2.1.0/gems/bundler-1.5.3/lib/bundler/runtime.rb:34:in `block in setup'
/Users/AaronWilliamson/.gem/Ruby/2.1.0/gems/bundler-1.5.3/lib/bundler/runtime.rb:19:in `setup'
/Users/AaronWilliamson/.gem/Ruby/2.1.0/gems/bundler-1.5.3/lib/bundler.rb:119:in `setup'
/Users/AaronWilliamson/.gem/Ruby/2.1.0/gems/bundler-1.5.3/lib/bundler/setup.rb:7:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/boot.rb:4:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/application.rb:1:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/Rakefile:4:in `<top (required)>'
LoadError: cannot load such file -- bundler/setup
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/boot.rb:4:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/application.rb:1:in `<top (required)>'
/Users/AaronWilliamson/Desktop/Ripelist-Classifieds/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)
Je ne peux pas exécuter de tâches de rake et cela semble être la racine de tous mes autres problèmes. Ce n'était pas comme ça il y a quelques jours quand j'exécutais des commandes de rake. Quelqu'un peut-il expliquer ce qui se passe ici et comment remettre mon application sur les rails? J'ai heurté un mur. De plus, bundle exec
ne résout pas le problème à la racine. Je n'ai jamais eu à faire cela dans le passé et cela ne fonctionne toujours pas maintenant.
EDIT 2: Vous devriez regarder bundle update
et modifier un peu votre flux de travail. Reportez-vous à cette question pour obtenir de l'aide.
Réponse originale
C'est un problème simple qui se produit lorsque votre gemset a une version de rake plus récente que le numéro de version mentionné par votre Gemfile.lock
.
Comme indiqué dans le message d'erreur, vous pouvez utiliser bundle exec
pour que tout fonctionne correctement.
Ma solution dans de tels cas consiste simplement à supprimer Gemfile.lock
si les autres versions de gem et leurs dépendances sans fin ne m'inquiètent pas trop. Sinon, vous pouvez simplement supprimer la seule ligne dans Gemfile.lock
qui parle de la version de rake. lancez bundle install
et le monde devrait redevenir un endroit heureux. (edit 2 _: Exécutez bundle update --source
au lieu de cela. Ne le faites pas.)
PS: Essayez d’utiliser gemsets et d’organiser vos joyaux avec rvm pour différents projets.
Modifier
Je préfère utiliser rbenv now pour gérer les installations et toutes les pierres précieuses d’un projet résident dans vendor/bundle
avec l’option bundle install --path
. Portée ultérieure chaque commande gem avec bundle exec
.
Par conséquent, Rails s
devient bundle exec Rails s
. Un peu plus de frappe est, à mon avis, préférable si cela signifie que les choses resteront propres et que des conflits tels que celui-ci ne se produisent pas.
Vous pouvez utiliser rubygems-bundler
pour résoudre ce problème. Exécutez les commandes suivantes:
$ gem install rubygems-bundler
$ gem regenerate_binstubs
Ensuite, essayez à nouveau votre rake.
Une solution simple qui a fonctionné pour moi consiste simplement à exécuter bundle update rake
.
J'avais un problème similaire et j'étais sceptique quant à la suppression d'une ligne de mon Gemfile.lock
, cela me paraissait hacky et le désagrément de l'ajout de bundle exec
à chaque commande rake n'était pas une option non plus. J'ai corrigé cela en allant d'abord dans mon Gemfile.lock
pour voir quelle version de rake
était là (dans mon cas, c'était 11.1.2). Je pensais désinstaller rake
et installer cette version. Lancer gem uninstall rake
a donné cette sortie:
Sélectionnez gem pour désinstaller:
- rake-10.5.0
- rake-11.1.1
- rake-11.1.2
- rake-11.2.2
- rake-11.3.0
- Toutes les versions
J'ai désinstallé à la fois rake-11.2.2
et rake-11.3.0
. Cela a résolu mon problème
Utilisez ceci:
gem install rake -v "version-you-want"
Selon cette solution (qui a fonctionné pour moi): https://stackoverflow.com/a/23668399/4260090
Vous pouvez le résoudre en utilisant rubygems-bundler
Tapez ces commandes dans votre terminal:
$ gem install rubygems-bundler
$ gem regenerate_binstubs
Ça devrait marcher maintenant
Tapez cette commande:
bundle update rake
Allez dans le Gemfile.lock
, trouvez le fichier rake et mettez à jour la version.
J'ai eu cette erreur:
Gem :: LoadError: Vous avez déjà activé rake 11.2.2, mais votre Gemfile nécessite un rake 11.1.2. Ajout du
bundle exec
à votre commande peut résoudre ce problème.
Ce que j'ai fait était de changer la version de rake dans le Gemfile.lock
de: rake (11.1.2)
à rake (11.2.2)
.
Tout a bien fonctionné par la suite.
bundle update rake
fonctionne aussi pour moi.
Mon erreur était Gem::LoadError: You have already activated rake 12.3.1, but your Gemfile requires rake 12.3.0. Prepending
bundle execto your command may solve this.
Je rencontre un problème similaire . Ma solution est de changer la ligne de la version de rake "gem 'rake', '~> 10.3'" dans le fichier Gemfile, supprimer Gemfile.lock et exécuter "bundler install", le nouveau Gemfile.lock montrera la nouvelle version 10.3.1. Alors tout ira bien.
Comme mentionné dans les réponses précédentes, il s'agit d'un problème simple qui se produit lorsque votre gemset a une version de rake plus récente que le numéro de version mentionné par votre Gemfile.lock
.
Le moyen le plus simple de déboguer cela consiste à exécuter bundle update
.
Vous pouvez également supprimer Gemfile.lock
et exécuter bundle install
ou simplement supprimer la ligne dans Gemfile.lock
qui correspond à la version rake et essayer bundle install
. Mais cela peut parfois corrompre le Gemfile. Je préférerais la première méthode parce que c'est la plus sûre et la plus facile.
J'ai essayé d'une autre manière qui est de supprimer Gemfile.lock
puis d'exécuter bundle install
. Après cela, je lance rake db:migrate
. Et tout fonctionne bien.
Bien que je ne pense pas que supprimer Gemfile.lock
soit une mauvaise pratique, mais peut être; qui sait.
J'ai eu la même erreur:
Vous avez déjà activé rake 12.0.0, mais votre Gemfile nécessite rake 11.3.0. Le fait de prévoir "bundle exec" dans votre commande peut résoudre ce problème.
Je l'ai résolu en exécutant bundle update
cette mise à jour de la version rake à ma version rake activée et tout a fonctionné, j'espère que cela fonctionne pour vous!