Jak zainstalować i używać różnych wersji Ruby?

16

Uczę się szyn z różnych książek, które używają różnych wersji zarówno rubinu, jak i szyn. W tej chwili mam zainstalowany Ruby 1.87 na moim systemie Mac OS X Snow Leopard (in /usr/bin), ale muszę także użyć Ruby 1.9 do innej aplikacji do obsługi szyn.

Czy ktoś może mi powiedzieć, jak to zrobić? Jestem nowy w tym, więc jak najwięcej instrukcji byłoby bardzo mile widzianych.

Michał
źródło

Odpowiedzi:

21

Istnieją dwa „menedżery wersji Ruby”, z których możesz wybierać:

Umożliwiają one przechowywanie wielu wersji Ruby w tym samym systemie. Po zainstalowaniu menedżera wersji i zainstalowaniu własnej wersji Ruby nie będziesz bałaganić Ruby i jego Klejnotów w swoim systemie, co jest największą zaletą. Nigdy więcej sudo! Nigdy więcej błędów uprawnień i konfliktów klejnotów.

Który powinienem wybrać?

Obaj robią to samo, ale wyznają różne filozofie. Wybór należy do ciebie.

Osobiście polecam rbenvza jego prostotę. Używam go od lat i zawsze działał dobrze. Wcześniej zalecałbym RVM (a wcześniejsza wersja tej odpowiedzi faktycznie o tym wspominała), ale wydaje mi się, że trudniej jest się w to zaangażować.

Jak je zainstalować?

Jeśli wybierzesz rbenv:

  • Postępuj zgodnie z instrukcjami instalacji
  • zainstalować ruby-build
  • Uruchom, rbenv install x.x.xgdzie x.x.xjest wersja (użyj, rbenv install --listaby zobaczyć, które są dostępne
  • Uruchom, rbenv global x.x.xaby zmienić swoją globalną wersję Ruby

Jeśli wybierzesz RVM:

  • Użyj bezpiecznej metody instalacji
  • Przeczytaj instrukcję instalacji - prawdopodobnie potrzebujesz konfiguracji dla jednego użytkownika
  • Użyj, rvm list knownaby wyświetlić listę dostępnych Rubinów, a następnie uruchom, rvm install x.x.xaby zainstalować określoną wersję.
  • Użyj, rvm use x.x.x --defaultaby zmienić domyślny Ruby
slhck
źródło
1
Zobacz także rbenv .
user1686
@grawity Dlaczego nie opublikować innej odpowiedzi? Dobrze mieć alternatywy, jeszcze tak naprawdę nie zajrzałem rbenv.
slhck
dzięki bardzo, czy to pomaga również przełączać się między wersjami Rails? w różnych książkach, z których korzystam, stosuję 3.05 (tak myślę) i 3.1, a to powoduje problemy ...
Michael
Próbowałem linii instalacyjnej, którą napisałeś (i która jest również na stronie rvm) i dostałem komunikat o błędzie: bash: linia 152: git: polecenie nie znaleziono bash: linia 154: git: polecenie nie znaleziono
Michael
Ach, gitoczywiście potrzebujesz . Przepraszam, zapomniałem o tym. Możesz zainstalować Git za pomocą instalatora OS X (wystarczy wybrać najnowszą wersję u góry).
slhck 27.09.11
7

Myślę, że rbenv zasługuje przynajmniej na własną odpowiedź.

Trwa nieustanna walka między fanami Rbenv i RVM, ale ja osobiście bardziej lubię Rbenv. Jak stwierdza Sam Stephenson (autor), rbenv zajmował się wyłącznie przełączaniem wersji Rubiego (w przeciwieństwie do RVM, który robi znacznie więcej).

W OS X jest to szczególnie łatwe. Po prostu postępuj zgodnie z doskonałymi instrukcjami instalacji na stronie Github (jeśli masz zainstalowany Homebrew, to w zasadzie tylko a brew install rbenv ruby-build).

Jeśli chodzi o zmianę wersji Railsów, napisałem kiedyś artykuł o tym, co może mnie zainteresować.

Michał Trojanek
źródło
1
Oto krótki opis autora rbenv na temat głównych różnic w RVM i powodów, dla których warto wybrać rbenv. Prostota rbenv była głównym powodem mojej migracji z RVM. Zarządzanie zestawami klejnotów specyficznych dla aplikacji jest łatwiejsze w IMO za pomocą Bundlera - nie potrzebujesz do tego menedżera wersji Ruby.
Jochem Schulenklopper
Dokładnie - zarządzanie zestawami klejnotów specyficznych dla aplikacji jest zadaniem Bundlera . Nigdy nie byłem fanem zestawów gemów związanych z menedżerami wersji.
Michael Trojanek