odinstaluj wersję Ruby z rbenv

88

Jak odinstalować lub usunąć wersję Ruby z rbenv . Zainstalowałem dwie wersje ruby. Przy przechodzeniu na ruby ​​1.9.3 otrzymuję błąd segmentacji. Czy ktoś może mi pomóc, jak usunąć daną wersję z rbenv?

Thillai Narayanan
źródło

Odpowiedzi:

133

Nowy sposób

Użyj uninstallpolecenia:rbenv uninstall [-f|--force] <version>

rbenv uninstall 2.1.0  # Uninstall Ruby 2.1.0

Użyj, rbenv versionsaby zobaczyć, które wersje zostały zainstalowane.


Stara droga

Aby usunąć wersję Ruby z rbenv, usuń odpowiedni katalog w ~/.rbenv/versions. Na przykład

rm -rf ~/.rbenv/versions/1.9.3-p0

Uruchom rbenv rehashpóźniej, aby wyczyścić wszystkie przestarzałe, shimed pliki binarne z usuniętej wersji.

Sam Stephenson
źródło
1
Ja to zrobiłem. Ale rbenv ciągle mówi mi, że brakuje usuniętej wersji.
Pan Ronald
@ Panie Ronald, mam ten sam problem.
Mosselman
@Mosselman Możesz usunąć wpis z, ~/.rbenv/versiona błąd zostanie uniknięty.
Kashyap
@ Kashyap 'Naprawiłem' problem przez ponowną instalację, ale myślę, że nie miał tego konkretnego wpisu, który wyskakiwał dla mnie, ale błąd pozostał.
Mosselman
katalog jest dla mnie pusty, ale postępowałem zgodnie z radą @Iorcon i to zadziałało. "rbenv uninstall <version>"
deepflame
27

ruby-build dodaje teraz polecenie deinstalacji do rbenv, aby obsłużyć usuwanie wersji ruby, jeśli chcesz uniknąć ręcznego rm -fr(co może być uznane za ryzykowne) i rbenv rehashsugerowanego przez @Stephenson. Aby usunąć wersję Ruby 1.9.3-p0, uruchomisz następujące polecenie:

rbenv uninstall 1.9.3-p0
lorcan
źródło
1
Byłoby wspaniale, gdyby to mogło stać się akceptowaną odpowiedzią, ponieważ jest to zdecydowanie właściwa droga.
jeffbyrnes
5
Czy to usuwa klejnoty?
Danyal Aytekin
3
@DanyalAytekin nigdy nie jest za późno, by powiedzieć Tak, to usuwa, afaik
Andre Figueiredo
4

Jak powiedział Stephenson, ale pamiętaj, aby zmienić wersję i globalną, jeśli odnoszą się do usuniętej wersji.

Mauricio Pasquier Juan
źródło
Ciągle pojawia się błąd wersji, nawet po ustawieniu globalnej i lokalnej wersji rbenv na nowszą.
Mosselman