2012-02-09 8 views
22

¿Cuál es el propósito de "Gemfile.lock" en Rails? He estado buscando pero no pude encontrar una respuesta satisfactoria.Gemfile.lock ¿Uso en rieles?

+0

El mejor recurso sobre esto es sin duda el artículo ["Aclaración de las funciones de .gemspec y Gemfile"] (http://yehudakatz.com/2010/12/16/clarifying-the-roles-of- the-gemspec-and-gemfile /). Leerlo aclarará todas sus dudas sobre este tema. – lucapette

Respuesta

25

debe leer toda la documentación de la bundler joya: http://gembundler.com/

LA GEMFILE.LOCK

Cuando se ejecuta paquete instala, Bündler persistirá los nombres completos y versiones de todas las gemas que se utilizado (incluidas las dependencias de las gemas especificadas en el Gemfile (5)) en un archivo llamado Gemfile.lock.

Bundler utiliza este archivo en todas las llamadas posteriores a bundle install, , lo que garantiza que siempre use el mismo código exacto, incluso si su aplicación se mueve entre máquinas.

Debido a las obras de resolución de manera dependencia, incluso un aparentemente pequeño cambio (por ejemplo, una actualización a un punto de liberación de una dependencia de una joya en su Gemfile (5)) puede resultar en ser radicalmente diferentes gemas necesarios para satisfacer todas las dependencias.

Como resultado, DEBERÍA comprobar su Gemfile.lock en el control de versiones. Si no lo hace, cada máquina que verifique su repositorio (incluido su servidor de producción) resolverá todas las dependencias de nuevo, lo que dará como resultado que se utilicen versiones diferentes del código de terceros si alguna de las gemas en el Gemfile (5) o cualquiera de sus dependencias ha sido actualizada.

5

Gemfile.lock asegura que otros desarrolladores de su aplicación, así como su entorno de despliegue, utilicen exactamente el mismo código de terceros que acaba de instalar.

Cuestiones relacionadas