Y a-t-il une raison particulière pour laquelle vous devez rétrograder (peut-être à cause du comportement consistant à placer des gemmes dans ~ / .gems lorsque vous oubliez sudo)?
Merci! Cela a fonctionné pour moi. Avoir un vieux projet Rails 2.2.2 qui se plaignait sans cela. Je ne sais toujours pas pourquoi en fait (si quelqu'un a des détails à ce sujet, je serais curieux) mais au moins cela fonctionne maintenant.
Brian Armstrong
1
@BrianArmstrong Il y a aussi un bug dans 2.3.x qui est déjà corrigé dans la 2-3-stablebranche rails (voir lien ). Peut-être que ce correctif sera disponible dans la prochaine version de 2.2.x.
pseidemann
Cela semble être le moyen le plus fiable.
Marnen Laibow-Koser
est-ce que cela ne le fait que pour un ensemble de gemmes particulier? ou devrais-je faire des allers-retours entre rubygems si je veux basculer entre le développement des rails 2 et des rails 3?
aarona
@DJTripleThreat voir stackoverflow.com/a/7700388/616310 pour rvm. lorsque vous l'utilisez, rbenvcela devrait suffire à copier l'installation de ruby. quand vous n'utilisez pas rbenvni rvmque je vous suggérerais d'utiliser rbenvparce que sinon vous devez faire des allers-retours avec le système ruby
pseidemann
25
Si vous utilisez RVM, vous pouvez le faire pour supprimer les gemmes ruby actuelles, puis mettre à niveau / rétrograder les rubygems:
il suffit de googler ceci pour essayer de se débarrasser d'une tonne d'avertissements de dépréciation causés par les récentes mises à jour de rubygems, cela m'a évité beaucoup de tracas, merci :)
Max Williams
15
Cela a juste fonctionné pour moi sur OSX pour passer de 1.5.0 à 1.4.2
J'ai eu un problème similaire dans une ancienne pile Rails 3. Lorsque ce type de problème se produit, ma recommandation est d'aller sur le serveur de production sur lequel l'application s'exécute actuellement et de vérifier la version de rubygems qu'elle utilise:
gem -v
Pour moi, il utilisait 1.8.24. Donc, tout ce que j'avais à faire est de rétrograder mes rubygems actuels qui ont été générés à partir de "rvm install 1.9.3", lorsque j'ai installé l'ancien ruby pour cette application. J'ai exécuté la commande suivante:
$ rvm install rubygems 1.8.24--force
Et ça a marché. Remarque J'utilise Ubuntu 14.04 et le serveur que j'utilise est également Ubuntu.
Réponses:
Mise à jour en novembre 2011: Maintenant que RVM est sorti, essayez de courir
rvm install rubygems <version>
.la source
sudo gem update --system 1.4.2
ourvm install rubygems 1.4.2
Cela a fonctionné pour moi lors de la rétrogradation de la 1.5.2 à la 1.4.2 en raison de l'ancienne version des rails:
Plus d'informations sur la rétrogradation / la mise à niveau de rubygems: https://github.com/rubygems/rubygems/blob/master/UPGRADING.md
la source
2-3-stable
branche rails (voir lien ). Peut-être que ce correctif sera disponible dans la prochaine version de 2.2.x.rvm
. lorsque vous l'utilisez,rbenv
cela devrait suffire à copier l'installation de ruby. quand vous n'utilisez pasrbenv
nirvm
que je vous suggérerais d'utiliserrbenv
parce que sinon vous devez faire des allers-retours avec le système rubySi vous utilisez RVM, vous pouvez le faire pour supprimer les gemmes ruby actuelles, puis mettre à niveau / rétrograder les rubygems:
la source
Cela a juste fonctionné pour moi sur OSX pour passer de 1.5.0 à 1.4.2
la source
J'ai eu un problème similaire dans une ancienne pile Rails 3. Lorsque ce type de problème se produit, ma recommandation est d'aller sur le serveur de production sur lequel l'application s'exécute actuellement et de vérifier la version de rubygems qu'elle utilise:
Pour moi, il utilisait 1.8.24. Donc, tout ce que j'avais à faire est de rétrograder mes rubygems actuels qui ont été générés à partir de "rvm install 1.9.3", lorsque j'ai installé l'ancien ruby pour cette application. J'ai exécuté la commande suivante:
Et ça a marché. Remarque J'utilise Ubuntu 14.04 et le serveur que j'utilise est également Ubuntu.
la source
J'ai utilisé cette commande pour revenir à la version gem dont ma version ruby avait besoin:
S'il donne des erreurs de somme de contrôle, essayez
Cela a fait l'affaire pour moi.
la source