ruby - zafiro - ¿Cómo comprobar si una gema está instalada?
tipos de piedras preciosas (2)
En caso de que desee utilizar la comprobación en un script, esto proporciona un mejor resultado (verdadero o falso) y un código de salida apropiado:
gem list -i <gem_name>
Alternativamente, agregue la opción de versión:
gem list -i <gem_name> -v version
Instalé data_mapper para un proyecto de Sinatra. Curioso, ¿por qué cuando hago gem install brew
, puedo $ which brew
y obtener la ruta de su ubicación y no puedo para data_mapper? Esto funciona para algunas gemas y no para otras.
¿Cómo verifico que una gema está instalada correctamente? ¿Comprobar la versión aseguraría que la gema se descargue correctamente?
Solución general
Prueba la lista de gemas para obtener la lista de gemas que están instaladas.
Para probar una gema en particular, puede usar -i
con una expresión regular: gem list -i "^gem_name$"
. (Crédito a Timo en los comentarios de esta técnica.)
Solución particular para OP
Si no puede encontrar data_mapper, puede ser que el nombre de la gema sea diferente de lo que esperaba.
Además, si solo estás haciendo which brew
para encontrar cerveza, no estás encontrando la gema llamada cerveza, estás encontrando la ubicación del ejecutable de cerveza. Prueba la gem which brew
lugar.
EDITAR:
Si está buscando data_mapper haciendo which data_mapper
, probablemente no lo encontrará. which
es un programa de Unix para encontrar ejecutables de Unix, y data_mapper probablemente no tiene uno.
Ya que su objetivo es verificar que una gema esté instalada con la versión correcta, use la gem list
. Puedes gem list data_mapper
a la gema específica usando gem list data_mapper
.
Para verificar que esté instalado y funcionando , deberás intentar require
la gema y luego usarla en tu código.