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.