Подтвердить что ты не робот

RVM и автоматическое переключение gemsets

Возможно ли, что rvm знает, какой gemset он должен использовать при навигации по определенному каталогу, так же, как вы можете иметь git текущую информацию о ветке, просто перемещаясь по этому каталогу?

Я понимаю, как работает git, так как каждый каталог имеет свой собственный .git-каталог в корне, но не знал, возможно ли это, так как .rvm - это скорее пользовательская конфигурация. Или, может быть, ответ заключается в создании файла .rvm в каждом каталоге?

4b9b3361

Ответ 1

Создайте файл .rvmrc в каждом проекте/ветке с содержимым, подобным этому:

rvm gemset use xxxx

Сохраните его. В следующий раз, когда вы cd в эту папку, вы, вероятно, получите запрос безопасности от RVM, чтобы убедиться, что вы хотите использовать этот .rvmrc. После принятия вы увидите "Теперь, используя gemset" xxxx ", каждый раз, когда вы перемещаетесь в эту папку.

Ответ 2

Для других, которые посещают это, есть новый способ сделать это, без необходимости разрешать произвольную оболочку script для выполнения в файле .rvmrc.

Создайте файл с именем .ruby-gemset, содержащий только имя gemset.

gemset

Вам нужна обновленная версия rvm для этого.

Вы также можете указать рубиновую версию, создав файл с именем .ruby-version, содержащий только рубиновую версию:

1.9.3

Этот формат также имеет то преимущество, что он совместим с rbenv и rbfu.

Если у вас есть существующие проекты с использованием устаревшего .rvmrc, вы можете преобразовать их в новый формат с помощью команды:

rvm rvmrc to .ruby-version

Ответ 3

Я нахожу, что самый простой способ добиться этого - перейти к папке проекта, а затем использовать следующую команду:

rvm --rvmrc --create <ruby>@<desired-gemset-name>

например. rvm --rvmrc --create [email protected]_gemset

Одним ударом RVM создаст файл .rvmrc, заполнит его, установит правильную рубиновую версию - при необходимости - и (обычно) переключится на правильную рубиновую версию и gemset. Обычно я говорю, потому что обнаруживаю, что мне иногда приходится cd . после выполнения этой команды, чтобы получить RVM для получения изменений.

Ответ 4

Если вы не можете работать с .ruby-version/.ruby-gemset, подумайте, использует ли ваш терминал использование имени оболочки и попробуйте запустить команду в разделе оболочки http://rvm.io/support/faq:

$ rvm get [head|stable] --auto

Ответ 5

Создайте файл .ruby-version с содержимым [ruby version] @[gemset] в папке проекта.

Пример:

$ rvm gemset list

    gemsets for ruby-2.6.3 (found in /home/ec2-user/.rvm/gems/ruby-2.6.3)
       (default)
       hello
    => sample
       toy

$ echo "[email protected]" > .ruby-version