lunes, 29 de febrero de 2016

Bundle exec

Verás que a veces aparece la secuencia "bundle exec" delante de los comandos que usamos para gestionar aspectos de una aplicación Ruby on Rails. Esto es debido a que queremos que todo ocurra en el contexto de las gems y las respectivas versiones que nos interesan. Estas son las declaradas en el Gemfile.

La localización del fichero Gemfile, puede venir determinada de muchas maneras. Te recomiendo que visites los enlaces siguientes:


Si no quieres leer los enlaces que te sugiero, te propongo una simplificación: considera que el fichero Gemfile está en el directorio desde el que estás trabajando o donde apunta la variable de entorno BUNDLE_GEMFILE.

Al hilo de esto, quiero recordarte que debes tener en cuenta que:

  • En un sistema pueden haber instaladas varias versiones de una misma gema. Usando bundle exec delante de la invocación a tu script te aseguras de que se usan las versiones que en el Gemfile se indican
  • Es posible que en algunos casos te funcionen las aplicaciones con cualquier versión de la gema que tengas instalada, pero el mantenimiento y despliegue rigurosos de la aplicación requieren que hagas un esfuerzo por delimitar con qué versión de gemas estás trabajando bien y declararlas en el Gemfile.
  • "bundle install" se encargará de recrear, instalando lo necesario, el entorno de tu aplicación.
  • También sirve para aplicaciones o scripts Ruby sin Rails, de manera que tiene sentido lanzar un script ruby con "bundle exec" y se usarán las gemas previstas en el "Gemfile".

No hay comentarios:

Publicar un comentario