Jak obniżyć poziom rubygemów?


Odpowiedzi:


39

Zaktualizowano listopad 2011: Teraz, gdy RVM się skończył, spróbuj uruchomić rvm install rubygems <version>.


36
Ech, znacznie lepiej sudo gem update --system 1.4.2lubrvm install rubygems 1.4.2
mrm

198

To zadziałało dla mnie podczas obniżania wersji z 1.5.2 do 1.4.2 z powodu starej wersji szyn:

sudo gem update --system 1.4.2

Więcej informacji na temat obniżania / ulepszania rubygems: https://github.com/rubygems/rubygems/blob/master/UPGRADING.md


1
Dzięki! To zadziałało dla mnie. Mam stary projekt Rails 2.2.2, który narzekał bez tego. Właściwie nadal nie wiem dlaczego (jeśli ktoś ma szczegóły na ten temat, byłbym ciekawy), ale przynajmniej teraz działa.
Brian Armstrong

1
@BrianArmstrong W 2.3.x jest również błąd, który został już naprawiony w 2-3-stablegałęzi rails (patrz link ). Być może ta poprawka będzie dostępna w następnej wersji 2.2.x.
pseidemann

Wydaje się, że jest to najbardziej niezawodny sposób.
Marnen Laibow-Koser

czy robi to jednak tylko dla konkretnego zestawu klejnotów? czy też musiałbym przechodzić między rubygemami, jeśli chcę przełączać się między rozwojem szyn 2 i szyn 3?
aarona

@DJTripleThreat patrz stackoverflow.com/a/7700388/616310 dla rvm. kiedy używasz rbenv, powinno wystarczyć skopiowanie instalacji Ruby. kiedy nie używać rbenvani rvmnie sugeruję używać rbenvbo inaczej trzeba iść tam iz powrotem z rubinem systemu
pseidemann

25

Jeśli używasz RVM, możesz to zrobić, aby usunąć obecne rubiny, a następnie ulepszyć / obniżyć poziom rubygemów:

rvm install rubygems 1.4.2

po prostu wygooglowałem to, aby spróbować pozbyć się tony ostrzeżeń o przestarzałych wynikach z ostatnich aktualizacji rubygemów, zaoszczędziło mi wielu kłopotów, dzięki :)
Max Williams

15

To właśnie zadziałało na OSX, aby wrócić z 1.5.0 z powrotem do 1.4.2

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

2

Miałem podobny problem w starym stosie Rails 3. W przypadku wystąpienia tego typu problemów radzę przejść na serwer produkcyjny, na którym aplikacja jest aktualnie uruchomiona, i sprawdzić, której wersji rubygems używa:

gem -v

U mnie używało 1.8.24. Więc wszystko, co musiałem zrobić, to obniżyć wersję moich obecnych rubygemów, które zostały wygenerowane z "rvm install 1.9.3", kiedy instalowałem stary ruby ​​dla tej aplikacji. Uruchomiłem następujące polecenie:

 $ rvm install rubygems 1.8.24 --force

I zadziałało. Uwaga Używam Ubuntu 14.04, a serwer, którego używam, to również Ubuntu.


Musiałem dodać - wymuś, gdybym chciał obniżyć wersję, w przeciwnym razie rvm nie kontynuowałby instalacji
Christian

-1

Użyłem tego polecenia, aby wrócić do wersji gem, której potrzebowała moja wersja ruby:

rvm rubygems current

Jeśli daje błędy sumy kontrolnej, spróbuj

rvm rubygems current --verify-downloads 1

To mi wystarczyło.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.