web-dev-qa-db-fra.com

Pourquoi est-ce que j'obtiens l'erreur "Votre Ruby est 2.0.0, mais votre Gemfile a spécifié 2.2.2" bien que 2.2.2 soit installé

J'utilise rbenv et j'obtiens l'erreur Your Ruby version is 2.0.0, but your Gemfile specified 2.2.2 Lorsque j'exécute la commande bundle install Dans mon projet. Ce qui est étrange, c'est que j'ai en fait installé la version 2.2.2 (comme le précise mon Gemfile), et non la version 2.0.0. (Voir l'image ci-dessous).

enter image description here

J'ai essayé la solution proposée dans ce fil: Votre Ruby est 2.0.0, mais votre Gemfile a spécifié 2.1. , mais cela n'a eu aucun effet.

Je suis sur un MacBook Air avec Yosemite si cela fait une différence.

Mise à jour:

  • which Ruby -> Users/myuser/.rbenv/shims/Ruby
  • Ruby -v -> Ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]
  • rbenv global 2.2.2 Et rbenv rehash, N'a aucun effet
  • which bundle -> /usr/bin/bundle
  • gem env -> - GEM PATHS:
    • /Users/myuser/.rbenv/versions/2.2.2/lib/Ruby/gems/2.2.0
    • /Users/myuser/.gem/Ruby/2.2.0
20
bork

J'ai finalement résolu mon problème en utilisant ce fil Bundler ne fonctionne pas avec rbenv, n'a pas pu trouver [gem] ,

en utilisant ces commandes après avoir réinstallé rbenv:

  • gem install --no-ri --no-rdoc bundler
  • rbenv rehash
  • bundle --path=vendor/bundle
9
bork

Vous avez un système bundler installé, et rbenv essaie toujours de le récupérer. Basé sur les étapes de ce site :

  • Assurez-vous d'utiliser la bonne version de gemme. Tapez which gem et gem env et vérifiez qu'il pointe vers votre 2.2.2 Ruby version
  • Installez bundler en utilisant ce joyau: gem install bundler
  • Une fois cette version de bundler installée, exécutez rbenv rehash
  • Appel which bundler, assurez-vous qu'il pointe maintenant vers la version shim de bundler

gem install peut ne pas fonctionner correctement avec rbenv si vous avez votre GEM_HOME ou GEM_PATH variable overriden, ou si vous avez des configurations personnalisées dans ~/.gemrc, ~/.gem/gemrc ou /etc/gemrc. Vérifiez le résultat de gem env, il devrait dire quelque chose comme ceci:

- INSTALLATION DIRECTORY: /Users/<youruser>/.rbenv/versions/<Ruby-version>/lib/Ruby/gems/<Ruby-framework-version>
(...)
- GEM PATHS:
  - /Users/<youruser>/.rbenv/versions/<Ruby-version>/lib/Ruby/gems/<Ruby-framework-version>

(noter la Ruby-framework-version ne correspond pas toujours exactement au Ruby-version. Si la Ruby-version est le bon alors le chemin devrait être correct)

sinon, assurez-vous de ne pas avoir de substitution d'environnement ou de configuration personnalisée dans les fichiers mentionnés ci-dessus.

Vous pouvez également essayer de supprimer tous les bundlers de votre machine et réessayer ensuite:

  • rbenv local system
  • gem uninstall bundler
  • rbenv local 2.2.2
  • gem uninstall bundler
25
SztupY

Pour moi, le problème était que je n'avais pas correctement réinitialisé rbenv après l'installation et le passage à la nouvelle version Ruby.

Dans ma configuration Shell, j'avais une vérification incorrecte pour éviter d'exécuter source (rbenv init -|psub) si rbenv n'était pas installé. Après l'approvisionnement manuel, cela a de nouveau fonctionné.

0
Dennis