work with will selecting rubies not create rubygems gem rvm gemset

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).