Como você faz o downgrade de rubygems?

99

Tenho rubygems 1.3.1 instalado, mas quero voltar para 1.2.0. Qual é o comando para fazer o downgrade de rubygems?

Shalmanese
fonte
Existe algum motivo particular pelo qual você precisa fazer o downgrade (talvez por causa do comportamento de colocar gems em ~ / .gems quando você esquece o sudo)?
Jarin Udom
Esse seria o motivo: stackoverflow.com/questions/4859600/…
Ramon Tayag

Respostas:

39

Atualizado em novembro de 2011: Agora que o RVM foi lançado, tente executar rvm install rubygems <version>.

Ryan Bigg
fonte
36
Eh, muito melhor para sudo gem update --system 1.4.2orrvm install rubygems 1.4.2
mrm
198

Isso funcionou para mim ao fazer o downgrade de 1.5.2 para 1.4.2 por causa da versão antiga do Rails:

sudo gem update --system 1.4.2

Mais informações sobre o downgrade / upgrade de rubygems: https://github.com/rubygems/rubygems/blob/master/UPGRADING.md

pseidemann
fonte
1
Obrigado! Isso funcionou para mim. Tenho um projeto Rails 2.2.2 antigo que reclamava sem isso. Na verdade, ainda não sei por quê (se alguém tiver detalhes sobre isso, ficarei curioso), mas pelo menos funciona agora.
Brian Armstrong
1
@BrianArmstrong Existe também um bug no 2.3.x que já foi corrigido no 2-3-stablebranch do rails (veja o link ). Talvez essa correção esteja disponível na próxima versão do 2.2.x.
pseidemann
Esta parece ser a maneira mais confiável.
Marnen Laibow-Koser
isso faz isso apenas para um conjunto de joias em particular? ou eu precisaria ir e voltar entre rubygems se eu quiser alternar entre o desenvolvimento do Rails 2 e do Rails 3?
Aarona
@DJTripleThreat consulte stackoverflow.com/a/7700388/616310 para rvm. quando você o usa rbenvdeve ser o suficiente para copiar a instalação do ruby. quando você não usa rbenvnem do rvmque eu sugiro que use rbenvporque senão você precisa ir e voltar com o sistema ruby
pseidemann
25

Se estiver usando RVM, você pode fazer isso para remover as gemas de rubi atuais e, em seguida, atualizar / fazer downgrade de rubi:

rvm install rubygems 1.4.2
adzdavies
fonte
apenas pesquisei isso no Google para tentar se livrar de uma tonelada de avisos de depreciação causados ​​por atualizações recentes do rubygems, me poupou de muitos aborrecimentos, obrigado :)
Max Williams
15

Isso funcionou para mim no OSX para voltar do 1.5.0 para o 1.4.2

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

Eu tive um problema semelhante em uma pilha Rails 3 antiga. Quando esse tipo de problema ocorrer, minha recomendação é ir para o servidor de produção em que o aplicativo está sendo executado e verificar qual versão do Rubygems ele está usando:

gem -v

Para mim, estava usando 1.8.24. Então, tudo que eu precisava fazer é fazer o downgrade dos meus rubygems atuais que foram gerados a partir de "rvm install 1.9.3", quando instalei o ruby ​​antigo para este aplicativo. Executei o seguinte comando:

 $ rvm install rubygems 1.8.24 --force

E funcionou. Observação Estou executando o Ubuntu 14.04 e o servidor que estou usando também é o Ubuntu.

Donato
fonte
Tive que adicionar --force se eu quisesse fazer o downgrade, caso contrário o rvm não continuaria com a instalação
Christian
-1

Usei este comando para voltar à versão gem de que minha versão ruby ​​precisava:

rvm rubygems current

Se der erros de soma de verificação, tente

rvm rubygems current --verify-downloads 1

Isso funcionou para mim.

Adrian
fonte