Użyj rvmrc lub pliku w wersji ruby, aby ustawić gemset projektu za pomocą RVM?

Używam RVM, Ruby Version Manager aby określić wersję Ruby i zestaw klejnotów dla każdego z moich projektów Rails.

Mam plik .rvmrc, który automatycznie wybierze wersję Ruby i gemset, gdy tylko cd wejdę do katalogu projektu.

Po zainstalowaniu RVM 1.19.0, dostaję komunikat

Używasz .rvmrc, wymaga zaufania, jest wolniejszy i jest nie jest kompatybilny z innymi menedżerami ruby, możesz przełączyć się na .ruby-version using rvm rvmrc to [.]ruby-version or ignore to ostrzeżenia z rvm rvmrc warning ignore /Users/userName/code/railsapps/rails-prelaunch-signup/.rvmrc, .rvmrc będzie nadal domyślnym plikiem projektu w RVM 1 i RVM 2, aby zignorować ostrzeżenie dla wszystkich plików uruchom rvm rvmrc warning ignore all.rvmrcs.

Czy powinienem nadal używać mojego pliku .rvmrc Czy powinienem przełączyć się na plik .ruby-version? Co jest optymalne? Jakie są konsekwencje?

Author: chris Frisina, 2013-03-29

5 answers

Jeśli plik .rvmrc zawiera niestandardowy kod powłoki, kontynuuj używanie .rvmrc, ponieważ pozwala na dołączenie dowolnego kodu powłoki.

Jeśli twoim jedynym celem jest zmiana wersji Rubiego, użyj .ruby-version, która jest obsługiwana przez inne przełączniki wersji Rubiego, takie jak rbenv lub chruby. Ten plik również nie wymaga zaufania, ponieważ jest tylko nazwą wersji Ruby i nie będzie w żaden sposób wykonywany.

Jeśli użyjesz .ruby-version możesz dołączyć @gemset do pliku, ale nie będzie to kompatybilny z innymi przełącznikami. Aby zachować kompatybilność użyj nazwy gemset w oddzielnym pliku .ruby-gemset, który jest ignorowany przez inne narzędzia (działa tylko razem z .ruby-version).

Na przykład, jeśli masz proste .rvmrc:

rvm use 1.9.3@my-app

Można go przekształcić na .ruby-version:

1.9.3

I .ruby-gemset:

my-app

Pamiętaj, aby usunąć plik .rvmrc, ponieważ ma on pierwszeństwo przed innymi plikami konfiguracyjnymi projektu:

rm .rvmrc
 367
Author: mpapis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-11 22:46:35

Szybki i łatwy sposób przełączania się z .rvmrc do .ruby-wersja+.ruby-gemset

rvm rvmrc to .ruby-version
 75
Author: Sam Backus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-28 13:25:59

Jeśli chcesz utworzyć plik .ruby-version i .ruby-gemset w krótkim czasie możesz użyć takich poleceń jak:

rvm use 2.1.1@nancy --create

rvm --create --ruby-version 2.1.1@nancy
 4
Author: user2627938,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-14 07:20:37

Możesz spróbować obu. Przejdź do katalogu głównego projektu, Utwórz .rvmrc file (touch .rvmrc), następnie Edytuj rvm use 2.0.0-p451@your_gemset (twoja wersja ruby i nazwa gemset). Po zapisaniu tego pliku możesz wpisać polecenie:

cd ../your_project (jesteś w katalogu your_project ), a skrypt w .rvmrc uruchomi się.

RVM zaleca użycie ruby-version. Możesz uruchomić to polecenie, aby przełączyć się z .rvmrc do .ruby-version

rvm rvmrc to .ruby-version

To co robi to tworzy 2 nazwy plików .ruby-wersja i .ruby-gemset i dodaj ten wiersz

ruby-2.0.0-p451 do środka .ruby-version

your_gemset do środka .ruby-gemset

Możesz spróbować zrobić to ręcznie, jeśli chcesz:)

 2
Author: duykhoa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-15 04:50:14

Zainstaluj rvm używając:

\curl -sSL https://get.rvm.io | bash -s stable --rails

Zainstaluj różne wersje Rubiego:

rvm install 1.8.7
rvm install 1.9.2

Przełącz na konkretną wersję Rubiego. Na przykład 1.8.7:

rvm use 1.8.7

Aby utworzyć gemse:

rvm gemset create project_gemset

I używać gemsetu:

rvm gemset use project_gemset
 0
Author: Narasu Londave,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-14 21:45:50