Odpowiedzi:
Przede wszystkim zaktualizuj instalację RVM, uruchamiając rvm get stable
.
Aby upewnić się, że korzystasz z nowej wersji RVM, musisz uruchomić rvm reload
(lub po prostu otworzyć nowy terminal).
Gdy to zrobisz, możesz poprosić RVM o wyświetlenie wersji Ruby dostępnych do zainstalowania przez uruchomienie rvm list known
.
Na wyjściu powinieneś teraz zobaczyć:
# MRI Rubies
...
[ruby-]1.9.2[-p320]
...
Nawiasy kwadratowe wokół poziomu poprawki wskazują, że jest to obecnie domyślny poziom poprawek RVM dla Ruby 1.9.2.
Wreszcie, aby zainstalować nową wersję ruby, po prostu uruchom rvm install 1.9.2
- i poczekaj, aż się skompiluje!
Ulepsz interpreter ruby i zachowaj istniejące zestawy klejnotów:
$ rvm upgrade 1.9.2-p0 1.9.2
Are you sure you wish to upgrade from ruby-1.9.2-p0 to ruby-1.9.2-p136? (Y/n): Y
Aby zastąpić najnowszą stabilną wersją 1.9.2. Pozwala to uniknąć bałaganu.
Dodatkowe pomocne wskazówki dzięki komentarzom (@Mauro, @James, @ACB)
$ rvm list known
# NOTE: you probably want to upgrade your rvm first, as the list of known rubies seems to be coupled to the rvm version.
$ rvm get stable
$ rvm list known #pick your ruby
rvm list known
zobaczyć dostępne wersje Ruby, do których możesz zaktualizować.
Pierwsza aktualizacja RVM:
rvm get stable
Następnie zaktualizuj swoją wersję Ruby:
rvm upgrade 2.0.0
Wybierz tak dla wszystkich pytań:
Are you sure you wish to upgrade from ruby-2.0.0-p195 to ruby-2.0.0-p247? (Y/n): Y
Are you sure you wish to MOVE gems from ruby-2.0.0-p195 to ruby-2.0.0-p247?
This will overwrite existing gems in ruby-2.0.0-p247 and remove them from ruby-2.0.0-p195 (Y/n): Y
Do you wish to move over aliases? (Y/n): Y
Do you wish to move over wrappers? (Y/n): Y
Do you also wish to completely remove ruby-2.0.0-p195 (inc. archive)? (Y/n): Y
Jeśli chcesz zaktualizować swoje klejnoty do najnowszych wersji, możesz:
rvm all do gem update
EDYCJA: Właśnie zrobiłem to dzisiaj dla najnowszej wersji Ruby 2.0.0 (zaktualizowałem z ruby-2.0.0-p195 do ruby-2.0.0-p353). Potem otrzymywałem błąd segmentacji, gdy próbowałem zaktualizować klejnoty. Dzieje się tak, ponieważ klejnoty zostały zainstalowane dla ruby-2.0.0-p195, a niektóre z nich są niekompatybilne z p353.
Teraz możesz iść i spróbować znaleźć klejnoty, które są niekompatybilne, ale najłatwiejszym rozwiązaniem było usunięcie wszystkich zainstalowanych klejnotów i zainstalowanie ich ponownie. Po prostu usunąłem gems/ruby-2.0.0-p353
katalog, który się znajdował w /usr/local/rvm
. To może być dla ciebie gdzie indziej.
Następnie uruchomiłem gem install bundler
i dla każdej z moich aplikacji railsowych, które zrobiłem bundle install
.
lubię to:
rvm update; rvm reload
rvm install ruby-1.9.2-p136
rvm --default ruby-1.9.2-p136
Możesz zainstalować poprawki na dowolnym poziomie, podążając za stroną w ich wiki .
Ponadto każdy rubin jest niezależny, więc tak naprawdę nie `` ulepszasz i zachowujesz klejnoty '', ale instalujesz nową wersję łatki, a następnie instalujesz klejnoty w nowym środowisku rubinowym.
Może to być miejsce, w którym w grę wchodzą klejnoty, ale ja ich nie używam.
Nie zapomnij również zaktualizować swojego rvm, na wypadek gdyby minęło trochę czasu.
Odpowiedź npad zdecydowanie przedstawia podstawy, więc nie będę powtarzać tych kroków, ale jest tutaj kilka odpowiedzi sugerujących użycie rvm upgrade
. Wiem, że rvm daje ci opcję, ale jest to trochę niebezpieczne.
IMO, bezpieczniejszym i bardziej "rvm" jest najpierw rvm install
nowa wersja ruby, a następnie użycie rvm gemset copy
polecenia do skopiowania zestawu (ów) gemset (ów) do nowej wersji ruby, np rvm gemset copy 1.9.2-p0@some-gemset 1.9.2-p290@some-gemset
. Następnie możesz łatwo przełączyć swój projekt na używanie nowo skopiowanego gemset (polecam użycie .rvmrc
pliku w katalogu projektu) i sprawdzić, czy twój kod się nie powiedzie. Jeśli tak, zmiana z powrotem na starą wersję rubinową jest tylko kwestią zmiany zestawu klejnotów.
Ale nawet jeśli nie używasz gemsetów (chociaż zakładam, że robisz to, ponieważ oznaczyłeś szyny w tym pytaniu), użycie rvm upgrade
może prowadzić do nieoczekiwanych awarii. A jeśli twój kod się zepsuje, teraz musisz ponownie zainstalować starą wersję. Poświęć trochę więcej czasu i zrób to w czysty sposób.
Myślę, że to rvm install 1.9.2-head
Możesz zobaczyć dostępne rubiny z rvm list known
head
uzyskać najnowszy poziom poprawki? Myślałem, że to najnowsza wersja, co oznacza, że może to być coś niestabilnego i eksperymentalnego.
Ten post na blogu powinien być pomocny: http://pogodan.com/blog/2011/09/06/ruby-1-9-3-for-development
niezbędniki:
rvm get head
rvm reload
wget https://gist.github.com/raw/1008945/4edd1e1dcc1f0db52d4816843a9d1e6b60661122/ruby-1.9.2p290.patch
rvm install ruby-1.9.2-p290 --patch ruby-1.9.2p290.patch -n patched
rvm get latest
/rvm get head
są poprawnymi sposobami aktualizacji rvm teraz.