2009-02-07 3 views
95

J'ai rubygems 1.3.1 installé mais je veux revenir à 1.2.0. Quelle est la commande pour rétrograder les rubygems?Comment dégradez-vous les rubygems?

+0

Y at-il une raison particulière pour laquelle vous devez rétrograder (peut-être à cause du comportement de mettre des gemmes dans ~/.gems quand vous oubliez sudo)? –

+0

Ce serait une raison pour laquelle: http://stackoverflow.com/questions/4859600/bundler-throws-uninitialized-constant-gemsilentui-nameerror-error-after-upgra –

Répondre

36

Mis à jour en novembre 2011: Maintenant que le RVM est sorti, essayez d'exécuter rvm install rubygems <version>.

+32

Eh, beaucoup mieux à '' 'sudo gem mise à jour - -system 1.4.2''' ou '' 'rvm install rubygems 1.4.2''' – mrm

+4

Je ne pense pas, la question initiale a pointé vers RVM. –

14

Ce tout a fonctionné pour moi sur OSX pour obtenir de 1.5.0 Retour à 1.4.2

sudo gem uninstall -v '1.5.0' rubygems-update 
sudo gem update --system --local 
189

Cela a fonctionné pour moi de déclasser 1.5.2 à 1.4.2 en raison de la version ancienne de rails:

sudo gem update --system 1.4.2 

Plus d'informations sur déclassement/rubygems mise à niveau: https://github.com/rubygems/rubygems/blob/master/UPGRADING.rdoc

+1

Merci! Cela a fonctionné pour moi. Avoir un vieux projet Rails 2.2.2 qui s'est plaint sans cela. Je ne sais toujours pas pourquoi (si quelqu'un a des détails à ce sujet, je serais curieux) mais au moins cela fonctionne maintenant. –

+1

@BrianArmstrong Il y a aussi un bug dans 2.3.x qui est déjà corrigé dans la branche '2-3-stable' de rails (voir [link] (https://github.com/rails/rails/commit/abc06a2f769e6e451462460610369ccddb45255d)) . Peut-être que ce correctif sera disponible dans la prochaine version de 2.2.x. – pseidemann

+0

déclassé à 1.3.7, fonctionne très bien – ian

25

Si vous utilisez RVM, vous pouvez le faire pour enlever les pierres précieuses rubis actuels, puis mettre à niveau/RubyGems de déclassement:

rvm install rubygems 1.4.2 
+0

juste googlé cela pour essayer de se débarrasser d'une tonne d'avertissements de déprécation causée par les mises à jour récentes rubygems, m'a sauvé beaucoup de tracas, merci :) –

+0

cela a également résolu mes problèmes – kikito

-1

J'ai utilisé cette commande pour revenir à la version bijou que ma version rubis nécessaire:

rvm rubygems current 

Si elle donne des erreurs de checksum tentent

rvm rubygems current --verify-downloads 1 

qui a fait l'affaire pour moi .

1

J'ai rencontré un problème similaire dans une ancienne pile Rails 3. Lorsque ce type de problèmes se produisent, ma recommandation est d'aller sur le serveur de production que l'application est en cours d'exécution et vérifier la version rubygems qu'il utilise:

gem -v 

Pour moi, il utilisait 1.8.24. Donc tout ce que je devais faire est de rétrograder mes rubygems actuels qui ont été générés à partir de "rvm install 1.9.3", quand j'ai installé le vieux ruby ​​pour cette application. J'ai exécuté la commande suivante:

$ rvm install rubygems 1.8.24 --force 

Et cela a fonctionné. Remarque: J'utilise Ubuntu 14.04 et le serveur que j'utilise est aussi Ubuntu.