2011-02-02 7 views
18

Conozco el comando que funciona para hacer esto, pero no entiendo por qué. ¿Qué está haciendo `...` en este contexto?Cómo verificar su lista de gemas en heroku

Sé que puedo ejecutar:

heroku console 
`gem list` 

o

heroku console 
`gem list`.split("\n") 

para obtener un buen rendimiento, pero no entienden lo que éstos están haciendo. ¿Por qué el ``?

Respuesta

36

He actualizado esto en caso de que alguien se encuentre con heroku console ya que se ha deshabilitado.

heroku run gem list 

Mostrar gemas instalados a través de: git

heroku run bundle show 
+1

La mejor respuesta en mi humilde opinión. – Hauleth

+0

Estoy descubriendo que esto no muestra las gemas instaladas a través de git. ¿Hay alguna forma de ver esas gemas? – Carpela

+0

De acuerdo con la Documentación de Bundler, las gemas de las fuentes de git no aparecerán en la lista de gemas porque el comando gema no puede procesarlas, por lo que Bundler tiene que hacer todo el trabajo por sí mismo. Bundler almacena estas gemas en su propia ubicación. Puedes hacer '' heroku run bundle show'' en su lugar – ahmet

8

La parte de atrás hace una llamada al sistema de forma efectiva y devuelve la respuesta que se escribió en stdout. Eche un vistazo a Kernel ruby docs para más información.

+0

entonces, en inglés claro, esto básicamente significa que te permite salir del entorno de los raíles que estás ejecutando en el servidor y emitir un comando al propio sistema del servidor ??? –

+0

En inglés sencillo eso es más o menos, sí. –

7

heroku console básicamente está ejecutando una consola IRB en la computadora remota, por lo que está en una consola ruby ​​cuando lo hace. Los backticks (`) son una forma estándar de ejecutar un comando del sistema en ruby.

1

En Ruby, puede ejecutar un comando de sistema ya sea usando Kernel#exec o colocando el contenido en los puntos de apoyo. Esto es lo mismo que escribir gem list en la línea de comandos y obtener el resultado como una cadena.

1

Por ejemplo

heroku run 'gem list' 

becouse

heroku console 

se elimina de heroku

Cuestiones relacionadas