Как мне использовать RVM и создавать глобально доступные драгоценные камни? - PullRequest
58 голосов
/ 24 октября 2010

Я использую Mac OSX 10.6.4 и установил RVM. До сих пор это было здорово, мне очень нравится, как это позволяет мне управлять несколькими версиями rails и ruby ​​на одной машине без головной боли!

Однако я не хочу устанавливать определенные драгоценные камни (например, пассажирские) для каждой настройки. Есть ли способ поделиться драгоценными камнями между наборами драгоценных камней? У меня есть 1.8.7@rails2.3.8 и 1.9.2@rails3, могу ли я установить такие гемы, как passenger, mysql и capistrano, один раз и использовать со всеми версиями?

Ответы [ 6 ]

63 голосов
/ 24 октября 2010

Существует нечто, называемое глобальным набором гемов, и оно используется всеми вашими наборами определенных ruby-версий. Но вы не можете делиться драгоценными камнями между ruby-версиями.

Однако вы можете создать список драгоценных камней, которые будут установлены автоматически при добавлении новой версии ruby. Это описано здесь . Вкратце: отредактируйте файл с именем ~/.rvm/gemsets/global.gems, чтобы он содержал список драгоценных камней, которые вы хотите использовать для каждой ruby-версии.

Надеюсь, это поможет.

56 голосов
/ 25 ноября 2012

В последней версии RVM (1.17.0 и новее) просто введите:

rvm @global do gem install passenger

или

rvm 1.9.3@global do gem install passenger если вам это нужно только для конкретной версии ruby.

31 голосов
/ 24 октября 2010

Вы можете создавать и использовать глобальные наборы гемов с помощью следующих команд:

rvm gemset create global
rvm gemset use global

После того, как вы создали и выполните использование для глобального набора гемов, просто установите гемы как обычно:

gem install mysql passenger
3 голосов
/ 14 сентября 2012

Создайте и используйте глобальный драгоценный камень как:

rvm use <ruby version>@global --create

и установите драгоценные камни, которые вы хотите разделить между наборами камней:

bundle install <gem name>

, но эти драгоценные камни могут быть общими только между наборами драгоценных камнейта же версия Ruby.

3 голосов
/ 24 октября 2010

добавьте нужные вам камни для каждого набора в глобальное имя набора rvm, т.е.

rvm 1.9.2@global

затем проектируйте специфические гемсеты rvm 1.9.2@myProject уже будет иметь ваши драгоценные камни по умолчанию из вашего глобального списка

2 голосов
/ 07 декабря 2010

Согласно документации RVM, на самом деле существует несколько «глобальных» наборов гемов, которые могут быть определены на уровне rvm, для каждого интерпретатора, для каждой версии интерпретатора и, наконец, на определенном уровне патча для интерпретатора.И установлен каскад драгоценных камней с одного уровня на следующий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...