¿Cómo degradas rubygems?

99

Tengo rubygems 1.3.1 instalado pero quiero volver a 1.2.0. ¿Cuál es el comando para degradar rubygems?

Shalmanese
fuente
¿Hay alguna razón en particular por la que necesites degradar (tal vez debido al comportamiento de poner gemas en ~ / .gems cuando olvidas sudo)?
Jarin Udom
Esta sería una razón por la cual: stackoverflow.com/questions/4859600/…
Ramon Tayag

Respuestas:

39

Actualizado en noviembre de 2011: ahora que RVM está fuera, intente ejecutarlo rvm install rubygems <version>.

Ryan Bigg
fuente
36
Eh, mucho mejor para sudo gem update --system 1.4.2orvm install rubygems 1.4.2
mrm
198

Esto funcionó para mí al degradar de 1.5.2 a 1.4.2 debido a la versión de rieles antiguos:

sudo gem update --system 1.4.2

Más información sobre la degradación / actualización de rubygems: https://github.com/rubygems/rubygems/blob/master/UPGRADING.md

pseidemann
fuente
1
¡Gracias! Esto funcionó para mí. Tiene un antiguo proyecto Rails 2.2.2 que se quejó sin esto. Todavía no sé por qué en realidad (si alguien tiene detalles sobre eso, tendría curiosidad), pero al menos funciona ahora.
Brian Armstrong
1
@BrianArmstrong También hay un error en 2.3.x que ya está arreglado en la 2-3-stablerama rails (ver enlace ). Quizás esta corrección esté disponible en la próxima versión de 2.2.x.
pseidemann
Esta parece la forma más confiable.
Marnen Laibow-Koser
¿Sin embargo, esto lo hace solo para un conjunto de gemas en particular? ¿O tendría que ir y venir entre rubygems si quiero cambiar entre desarrollo de rieles 2 y rieles 3?
aarona
@DJTripleThreat, consulte stackoverflow.com/a/7700388/616310 para rvm. cuando lo use rbenvdebería ser suficiente para copiar la instalación de ruby. cuando no usa rbenvni rvm, le sugiero que use rbenvporque de lo contrario debe ir y venir con el sistema ruby
pseidemann
25

Si está utilizando RVM, puede hacer esto para eliminar las gemas de rubí actuales, luego actualizar / degradar rubygems:

rvm install rubygems 1.4.2
adzdavies
fuente
Solo busqué en Google esto para tratar de deshacerme de un montón de advertencias de depreciación causadas por actualizaciones recientes de rubygems, me ahorré muchas molestias, gracias :)
Max Williams
15

Esto me funcionó en OSX para volver de 1.5.0 a 1.4.2

sudo gem uninstall -v '1.5.0' rubygems-update
sudo gem update --system --local
patrickmcgraw
fuente
2

Tuve un problema similar en una pila vieja de Rails 3. Cuando ocurren este tipo de problemas, mi recomendación es ir al servidor de producción en el que se está ejecutando la aplicación y verificar qué versión de rubygems está usando:

gem -v

Para mí, estaba usando 1.8.24. Así que todo lo que tenía que hacer era degradar mis rubygems actuales que se generaron a partir de "rvm install 1.9.3", cuando instalé el ruby ​​antiguo para esta aplicación. Ejecuté el siguiente comando:

 $ rvm install rubygems 1.8.24 --force

Y funcionó. Tenga en cuenta que estoy ejecutando Ubuntu 14.04 y el servidor que estoy usando también es Ubuntu.

Donato
fuente
Tuve que agregar --force si quería degradar, de lo contrario rvm no continuaría con la instalación
Christian
-1

Usé este comando para volver a la versión de gema que necesitaba mi versión de ruby:

rvm rubygems current

Si da errores de suma de comprobación, intente

rvm rubygems current --verify-downloads 1

Eso funcionó para mí.

Adrian
fuente