Rubygems, Bundler y confusión RVM
-
25-09-2019 - |
Pregunta
He leído " Rubygems, Bündler, y RVM " antes preguntar de nuevo.
Bueno, hay muchas preguntas como ésta, pero las personas que respondieron dicen que trabajan con Rubygems, RVM y Bündler, y no han explicado cómo cada uno de estos trabajos de forma aislada.
Estoy realmente confundida con la forma en los tres trabajos en forma aislada cuando estamos instalando gemas. Por favor, no me diga cómo se trabaja, lo que me va a ayudar, pero no voy a conocer lo que está sucediendo cuando jugamos con ellos.
Mi confusión puede ser dividido en estas preguntas. Cuando se instala una joya cuando:
- Sólo tengo Rubygems (sin RVM o Bündler)?
- Rubygems y RVM se instalan?
- se instalan Rubygems, RVM y Bündler?
Por favor, ayúdame a entender estas cosas, ya sea con recursos en la web o por sus respuestas detalladas.
Solución
- Para averiguar dónde gemas están siendo instalados a,
echo $GEM_HOME
ejecutan en un terminal. - Cuando se utiliza RVM, gemas están instalados en su RVM instalar, ya que cambia $ GEM_HOME. Correr
echo $GEM_HOME
ahora mostraría un camino en su RVM instalar. - Cuando se añade a la mezcla Bündler, gemas estará instalado en
$GEM_HOME
, o, si se especifica una ruta cuando se instalarábundle install
corriendo a ese camino. Para averiguar dónde una joya es a través de Bündler puede utilizarbundle show gemname
para conseguir su ruta completa.
Otros consejos
Uso gem env
a la lista de los caminos de gemas en cada contexto.
Sin gem env
RVM informará las rutas de bibliotecas joya del sistema.
Con gem env
RVM informará las rutas de bibliotecas de la gema de RVM gestionados.
Bündler gestiona dependencias de la aplicación y se instala en la biblioteca joya en su entorno. Si está utilizando RVM + Bündler, las gemas se instalarán en las RVM logrado directorios de la gema. Si está utilizando sin RVM, bundler instalará gemas en los directorios de la gema del sistema.
Para encontrar la ruta en la que se instala una joya uso:
gem which gem_name
Para encontrar ejecutables (como html2haml) uso:
which executable_name
Para evitar bundle exec html2haml
mecanografiado que se recomienda por el equipo Bündler, usar mi rubygems bundler-joya .
También estoy tratando de entender cómo funciona. El blog " Consejos sobre el uso de Ruby, RVM, Pasajero, rieles, Bündler, ... en el desarrollo " me ayudó a tener una mejor visión de conjunto.
Por cierto, es una traducción de un artículo en francés, la versión francesa es mejor.