web-dev-qa-db-fra.com

Votre version de Ruby est 2.0.0, mais votre Gemfile est spécifié 2.1.0

Lorsque j'essaie de regrouper l'installation, le message suivant s'affiche:

Your Ruby version is 2.0.0, but your Gemfile specified 2.1.0

Dans mon Gemfile, j'ai les éléments suivants:

Ruby '2.1.0'

Et quand je lance Ruby -v dans la console, je reçois:

Ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin12.0]

Que signifie Ruby 2.1.0p0? Quelle version dois-je avoir dans mon Gemfile et pourquoi l'erreur me dit-elle que j'ai Ruby version 2.0.0?

49
stecd

Courir 

gem install bundler

ou

gem update bundler 

ce qui peut résoudre votre problème.

Pour toutes les nouvelles versions installées de Ruby, vous devez mettre à jour ou installer un nouvel ensemble.

86
Зелёный

Dans le répertoire de niveau supérieur de votre projet, créez un fichier nommé .Ruby-version contenant ( attendez-le ... )

2.1.0

Apparemment, c’est la manière cross -{rbenv,rvm} de spécifier la version maintenant.

13
Clay Bridges

Si vous obtenez cela dans un projet Rails et que vous avez récemment mis à niveau votre version de Ruby, il est possible que spring fonctionne toujours avec l'ancienne version de Ruby.

./bin/spring stop

va résoudre ce problème.

11
Myers Carpenter

Pour moi, aucune des réponses n'a aidé. Je l'ai corrigé en fermant et en ouvrant à nouveau le terminal.

5

Je l'ai obtenu après la mise à niveau avec Ruby-install . Corrigé ceci avec:

gem install bundler

suivi par:

$HOME/.rubies/Ruby-2.4.1/bin/bundle

Il ne devrait pas être nécessaire de spécifier le chemin car which bundle indique qu'il utilise déjà ce chemin. Mais cela donne une erreur de version si vous utilisez bundle sans le chemin. Je ne sais pas pourquoi?

3
mahemoff

Si vous utilisez Capistrano, vous devez également vérifier votre fichier deploy.rb pour la configuration set :rbenv_Ruby

3
Darme

Si vous utilisez rbenv pour gérer vos environnements Ruby, vous pouvez exécuter rbenv local 2.1.0 dans votre répertoire de projet pour définir la version de Ruby demandée par votre fichier gem.

2
Thiemo

Aucune des réponses ci-dessus n'a fonctionné pour moi, mais 

$ gem pristine --all

a fait le tour pour moi

buona Fortuna

1
Salomanuel

Pour les projets plus avancés, le fichier .versions.conf est pris en charge. Vous pouvez en spécifier davantage que la version Ruby.

Générer .versions.conf:

rvm --create --versions-conf use 1.9.3@my_app

Exemple .versions.conf:

Ruby=jruby-1.6.8
Ruby-gemset=my_app
env-JRUBY_OPTS=--1.9
1
user5315333

Assurez-vous que la configuration de votre serveur pointe vers la bonne installation de Ruby.

J'avais déjà mis à jour ma version de Ruby dans le fichier .Ruby-version et cela ne le réglait pas. Ruby -v a également montré la version correcte, mais j'avais oublié de mettre à jour la configuration de mon serveur.

Par exemple, avec rbenv, NGINX et Pushion Passenger, j'avais dans mon bloc de serveur NGINX:
passenger_Ruby /Users/myusername/.rbenv/versions/2.3.1/bin/Ruby;

Et j'avais besoin de changer pour ...
passenger_Ruby /Users/myusername/.rbenv/versions/2.3.3/bin/Ruby;

Puis redémarré NGINX et cela a fonctionné.

1
Allen

brew cleanup Ruby a fonctionné pour moi car j'utilise HomeBrew pour installer Ruby.

J'ai récemment mis à jour Ruby via HomeBrew mais HomeBrew n'a pas supprimé l'ancienne version. brew cleanup Ruby supprimera l'ancienne version de Ruby.

1
ethicalhack3r

Cela peut se produire lorsque vous installez la nouvelle version de Ruby et mettez à jour .Ruby-version et Gemfile vers la nouvelle version sans installer d’abord toutes les gems de la nouvelle version de Ruby. Ainsi le font

$ bundle install

et vous pourriez aussi avoir besoin de source .profile ou de redémarrer votre shell.

1
Ken Ratanachai S.

Aucune des autres suggestions ne fonctionnait pour moi. Sur le serveur, je devais faire:

rvm --default use [correct version number]

1
Karen

Merci pour l'info sur l'installation/la mise à jour de bundler mais cela n'a pas fonctionné pour moi . Je devais faire rbenv rehash

0
MarkP

Eu la même erreur. Faire ce qui suit l'a corrigé. J'utilisais Ruby 2.5.5 et Rbenv. Mis à jour à partir de 2.5.1.

  • rbenv Rehash
  • gem désinstaller bundler
  • gem Installer Bundler
  • gem install bundler: 1.17.3 (mon application avait besoin de bundler spécifique -v 1.17.3)
  • bijou installer Rails
0
Andrius Svylas