2010-09-14 18 views
9

Jestem naprawdę zdezorientowany przez wyjaśnienia podane na stronie internetowej RVM. Relacja między różnymi interpretatorami rubinów i klejnotami nie jest dla mnie jasna. Według mnie, to jest tak -Jak zarządzać wieloma wersjami gemsetów i rubinów za pomocą RVM?

  1. Moje Konto w moim Mac mają jedną RVM
  2. To RVM instaluje i zarządza zestaw różnych wersjach interpretors rubinowe.
  3. każda wersja ruby ​​ma zestaw gemsetów.

Czy mogę wyjaśnić wszystko ... Zapraszamy do dalszych wyjaśnień. Jestem w stanie pracować (Ruby 1.8.7 + rails 2.3.8 i jego zależności) i (Ruby 1.9.2 i Rails 3.0 i jego zależności) ...

Jeśli ktoś jest dobrze obeznany z obsługą wiele wersji Ruby i gemsets z pomocą RVM, proszę mi wyjaśnić ... dzięki za pomoc

Odpowiedz

17

Oto jak lubię to robić ...

  1. Install rubin z RVM
  2. Przełącz na/używaj ruby ​​
  3. Utwórz gemset dla projektu
  4. Przełącz się/wykorzystanie gemset
  5. zainstalować kamienie potrzebne
  6. utworzyć alias wskazujący na moim wybranego rubin & gemset
  7. przełącznik/obsłudze, że nowy alias (ponownie, związany w/w projektu)

Wykonaj to tyle razy, ile potrzeba do różnych projektów, które chcesz od siebie oddzielić.

Przykład:

$ rvm install ruby-1.9.2 
... 
$ rvm list 

rvm rubies 

=> ree-1.8.7-head [ i386 ] 
    ruby-1.9.2-head [ i386 ] 
    ruby-1.9.2-preview3 [ i386 ] 

$ rvm use ruby-1.9.2-preview3 

info: Using ruby 1.9.2 preview3 
$ rvm gemset create my_project 

info: Gemset 'my_project' created. 
rvm gemset use my_project 

info: Now using gemset 'my_project' 
$ gem install httparty 
When you HTTParty, you must party hard! 
Successfully installed crack-0.1.8 
Successfully installed httparty-0.6.1 
2 gems installed 
$ rvm alias create my_project [email protected]_project 

info: Creating alias my_project for [email protected]_project. 

info: Recording alias my_project for [email protected]_project. 
$ rvm use my_project 

info: Using ruby 1.9.2 preview3 with gemset my_project 
$ .... 

Teraz mam całe środowisko dedykowany do konkretnego projektu. To jest świetne, ponieważ mogę eksperymentować z różnymi rodzajami klejnotów/wersji bez martwienia się o tupanie w innych projektach, które mają bardzo specyficzne wymagania.

Powodzenia!

+0

jeśli idę i pracuję w innym gemsetie, te klejnoty, które są zainstalowane w moim systemie lub te, które są zainstalowane w innych gemsetach nie są dostępne ... prawda? – Anand

+0

Dzięki za tonę Brian - W pełni zrozumiałem teraz - przepływ pracy i koncepcja gemset ... jeszcze raz bardzo dziękuję – Anand

+0

Cieszę się, że pomogło. Trochę mi też zajęło "zdobycie". Teraz nie mogę bez niego żyć ... Co przypomina mi, prawdopodobnie powinienem przekazać darowiznę na projekt RVM ... – Brian

1

Aby dodać do powyższej odpowiedzi Briana, można również użyć plików .rvmrc do dynamicznego przełączania gemsetów podczas wprowadzania nowych katalogów projektu.

wystarczy uruchomić następujące:

rvm rvmrc create [email protected]_project 

Pomoże to powstrzymać zamieszanie, które miałem podczas przełączania i zapominając zmienić gemsets

UPDATE .rvmrc pliki są w trakcie spadła do nowszy plik .ruby-wersja zobacz dyskusję tutaj: https://gist.github.com/fnichol/1912050

Powiązane problemy