Estos días he estado configurando equipos para acceder a un mismo repositorio de trabajo. El proyecto es con Rails 3 y por consecuencia depende de bundler y el correspondiente Gemfile.
Gemfile.lock corresponde a la instalación de las gemas detallando las versiones y dependencias. Al hacer las diferentes instalaciones y configurar las gemas en cada máquina con bundler se generó un Gemfile.lock que varía entre algunos equipos. De ahí me surgió la duda sobre si es correcto incluir Gemfile.lock en el control de código fuente.
¿Comentarios?
Saludos,
> --
> You received this message because you are subscribed to the Google Groups "Ruby SIG Mexico" group.
> To post to this group, send email to ruby-s...@googlegroups.com.
> To unsubscribe from this group, send email to ruby-sig-mex...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/ruby-sig-mex?hl=en.
>
Saludos,
ja
Sin embargo, durante el desarrollo no lo recomendaría porque muchas
veces las versiones de las dependencias cambian, aunque esto te obliga
a estar checando que cada nueva versión sea compatible con tu app,
cosa que no siempre queremos.
Por último como tip, te recomiendo siempre especificar las versiones
de tus dependencias, porque muchas gemas están en desarrollo constante
y puede que una nueva versiób truene tu aplicación. Esto mismo me
sucedió con devise en el sitio de rails.mx, por eso de pronto les
decía que su contraseña era incorrecta y no podían loggearse aunque
estuvieran metiendo la contraseña correcta. Siempre trato de leer el
changelog de una versión antes de actualizar. Y en mi gemfile tengo
versiones "limitadas", como "~> 1.2". Esto me asegura que puedo tener
updates de versiones 1.2.x pero sin llegar a la 1.3, que generalmente
son cambios importantes.
Saludos
edgar.js
Deberías incluirlo en el VCS.
>
> ¿Comentarios?
Parte del hecho en las diferencias de funcionamiento en Bundler de
`bundle instal` y `bundle update`.
La versión simplificada, básicamente “install” utiliza el Gemfile.lock
como el ‘manifest’ de gemas a instalar, manteniendo mismos números de
versiones y update, revisara con los repositorios canónicos o
especificados en el Gemfile por nuevas versiones (siempre y cuando no
se haya especificado una en el Gemfile.
El workflow ideal, seria que siempre utilizaras `bundle install` y
solo como una actividad de mantenimiento (quizás en un fork de tu
VCS), hacer un `bundle update` revisando pequeños cambios de
configuración, revisar por funciones o métodos jubilados y quizás
cambios de implementación en algo de tu código. Evitando de esta forma
romper el funcionamiento de tu aplicación.
Heroku siempre realiza `bundle install`, dado que es mas rápido,
excepto, cuando detecta cambios en el Gemfile.lock
Saludos,
Gustavo
>
> Saludos,