rubygems - with - RVM: Listar todas las gemas en el gemset actual ignorando global y predeterminado
rvm install ruby (3)
La forma más sencilla de hacerlo es usar el comando bash que muestra la lista de directorios en su directorio actual de gemset
$ ls `rvm gemdir`/gems
Buscando algo así como una gem list
dentro de un conjunto de gemas RVM, pero hacer que ignore las gemas en los conjuntos de gemas globales y predeterminados para que pueda ver fácilmente qué gemas están en el conjunto de gemas activo (y solo en el conjunto de gemas activo).
Primero, cuando se selecciona cualquier otro conjunto de gemas, el contenido predeterminado del gemset (sin nombre) se vuelve invisible.
Como saben, efectivamente el @global gemset está included en todos los otros gemsets para el Ruby seleccionado normalmente.
Sin embargo, para ver el contenido de un gemset, excluyendo el @global gemset, primero rvm use 2.0.0@some-gemset --ignore-gemsets
(o similar para otros Rubies) y luego la gem list
.
De manera similar, para ver los contenidos de @global gemset, primero rvm use 2.0.0@global
luego la gem list
.
Y al igual que para ver el contenido del conjunto de gemas predeterminado, rvm use 2.0.0 --ignore-gemsets
luego la gem list
.
Por cierto, puede seleccionar un conjunto de gemas para que sea el default (llamado) para nuevos shells (sin inicio de sesión) (y siempre lo hago en .bash_profile
, etc. por separado para cada intérprete de Ruby), pero ese es otro tipo de gemset predeterminado , no el gemset predeterminado (sin nombre) arriba.
para global:
rvm @global do gem list
para otros gemsets:
GEM_PATH=$GEM_HOME gem list
@global
es un conjunto de gemas que todos los demás conjuntos de gemas heredan para un ruby ​​determinado, no se heredan para m, por lo que es seguro seleccionarlo y ejecutar la gem list
en su contexto.
Para todos los demás conjuntos de gemas, puede utilizar el hecho de que la gem list
gemas muestra gemas de todas las rutas disponibles en GEM_HOME
y GEM_PATH
. Al restablecer GEM_PATH
para que sea igual, GEM_HOME
hará que solo haya una ruta disponible: la de GEM_HOME
gemset, ignorando todos los otros gemsets (en este momento, @global
, pero RVM 2.0 admitirá la herencia de múltiples gemsets).