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
usingrvm rvmrc to [.]ruby-version
or ignore to ostrzeżenia zrvm 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 uruchomrvm 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?
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
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
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
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:)
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
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