Come esegui il downgrade di Rubygem?


99

Ho installato rubygems 1.3.1 ma voglio tornare a 1.2.0. Qual è il comando per eseguire il downgrade di rubygems?


C'è qualche motivo particolare per cui è necessario eseguire il downgrade (forse a causa del comportamento di inserire gemme in ~ / .gems quando si dimentica sudo)?
Jarin Udom

Questo sarebbe un motivo per cui: stackoverflow.com/questions/4859600/…
Ramon Tayag

Risposte:


39

Aggiornamento novembre 2011: ora che RVM è disponibile, prova a correre rvm install rubygems <version>.


36
Eh, molto meglio sudo gem update --system 1.4.2orvm install rubygems 1.4.2
signor

198

Questo ha funzionato per me durante il downgrade da 1.5.2 a 1.4.2 a causa della vecchia versione di rails:

sudo gem update --system 1.4.2

Ulteriori informazioni su downgrade / upgrade di rubygems: https://github.com/rubygems/rubygems/blob/master/UPGRADING.md


1
Grazie! Questo ha funzionato per me. Avere un vecchio progetto Rails 2.2.2 che si è lamentato senza questo. Non so ancora perché in realtà (se qualcuno ha dettagli su questo sarei curioso) ma almeno ora funziona.
Brian Armstrong

1
@BrianArmstrong C'è anche un bug in 2.3.x che è già stato corretto nel 2-3-stableramo rails (vedi link ). Forse questa correzione sarà disponibile nella prossima versione di 2.2.x.
pseidemann

Questo sembra il modo più affidabile.
Marnen Laibow-Koser

lo fa solo per una gemma particolare però? o dovrei andare avanti e indietro tra rubygems se voglio passare dallo sviluppo di rails 2 a rails 3?
aarona

@DJTripleThreat vedere stackoverflow.com/a/7700388/616310 per rvm. quando lo usi rbenvdovrebbe essere sufficiente per copiare l'installazione di ruby. quando non usi rbenvrvmti consiglio di usare rbenvperché altrimenti devi andare avanti e indietro con il sistema ruby
pseidemann

25

Se stai usando RVM, puoi farlo per rimuovere le gemme di rubino attuali, quindi aggiornare / ridurre le gemme di rubino:

rvm install rubygems 1.4.2

ho appena cercato su Google per cercare di sbarazzarti di una tonnellata di avvisi di deprecazione causati dai recenti aggiornamenti di rubygems, mi ha risparmiato un sacco di problemi, grazie :)
Max Williams

15

Questo ha funzionato per me su OSX per tornare dalla 1.5.0 alla 1.4.2

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

2

Ho avuto un problema simile in un vecchio stack di Rails 3. Quando si verificano questi tipi di problemi, la mia raccomandazione è di andare sul server di produzione in cui l'applicazione è attualmente in esecuzione e controllare quale versione di rubygems sta utilizzando:

gem -v

Per me, stava usando 1.8.24. Quindi tutto quello che dovevo fare è eseguire il downgrade del mio attuale rubygems generato da "rvm install 1.9.3", quando ho installato il vecchio ruby ​​per questa app. Ho eseguito il seguente comando:

 $ rvm install rubygems 1.8.24 --force

E ha funzionato. Nota sto eseguendo Ubuntu 14.04 e anche il server che sto utilizzando è Ubuntu.


Ho dovuto aggiungere --force se volevo eseguire il downgrade altrimenti rvm non avrebbe proceduto con l'installazione
Christian

-1

Ho usato questo comando per tornare alla versione gem di cui aveva bisogno la mia versione ruby:

rvm rubygems current

Se dà errori di checksum, prova

rvm rubygems current --verify-downloads 1

Questo ha funzionato per me.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.