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

RVM: список всех драгоценных камней в текущем gemset, игнорирующий глобальные и дефолтные

Ищете что-то вроде gem list в Gemset RVM, но чтобы он игнорировал драгоценные камни в глобальном и по умолчанию, поэтому я могу легко видеть, какие именно камни находятся в активном gemset (и только активном gemset).

4b9b3361

Ответ 1

для глобального:

rvm @global do gem list

для других gemset:

GEM_PATH=$GEM_HOME gem list

@global - это гемсет, который наследует все другие гемсеты для данного рубина, он не наследует сам m, поэтому безопасно его выбирать и запускать gem list в этом контексте.

Для всех других gemset вы можете использовать тот факт, что gem list отображает драгоценные камни со всех путей, доступных в GEM_HOME и GEM_PATH, сброс GEM_PATH, равный GEM_HOME, сделает только один путь доступным - один от GEM_HOME, поэтому gem list будет отображать только драгоценные камни в выбранном gemset, игнорируя все остальные gemset (в это время @global, но RVM 2.0 будет поддерживать наследование нескольких гемсетов).

Ответ 2

Самый простой способ сделать это - использовать команду bash, которая отображает список каталогов в вашем текущем каталоге gemset

$ ls `rvm gemdir`/gems

Ответ 3

Во-первых, всякий раз, когда выбран любой другой gemset, содержимое gemset по умолчанию (no-name) становится невидимым.

Как вы знаете, эффективно @global gemset включается во всех других gemset для текущего выбранного Ruby.

Однако, чтобы увидеть содержимое gemset, исключая gmbset @global, сначала сделайте rvm use [email protected] --ignore-gemsets (или аналогичный для других Rubies) то gem list.

Аналогично, чтобы увидеть содержимое gglset @global, сначала сделайте rvm use [email protected], затем gem list.

Аналогично, чтобы увидеть содержимое стандартного gemset, сделайте rvm use 2.0.0 --ignore-gemsets, затем gem list.

Кстати, вы можете выбрать gemset, чтобы быть (так называемым) по умолчанию для новых (не входящих в систему) оболочек (и я всегда сделайте это в .bash_profile и т.д. отдельно для каждого интерпретатора Ruby), но это другой тип gemset по умолчанию, а не (без имени) gemset по умолчанию выше.