2012-07-06 7 views

Respuesta

5

Prefiero tener todas mis gemas bloqueadas para una versión específica en producción. Teniendo en cuenta que puede haber versiones más nuevas que rompan la compatibilidad con otras gemas o que dejen de lado algunas API, debes estar 100% seguro de que no obtendrás una aplicación sorprendentemente rota cuando la implemente debido a inconsistencias en las gemas. La actualización de gems solo se debe realizar de forma local en el desarrollo, actualizando sus entradas de Gemfile y probando cada nueva versión frente al resto de sus códigos y bibliotecas.

+0

Además, a veces ocurre lo contrario al tener que tomar la última versión disponible en la fuente, porque contiene una corrección muy necesaria que no está disponible en las versiones numeradas. (pasó a will_paginate en algún momento) – prusswan

2

En general, no es necesario que se deba a excepción de cuando se lo indiquen (ya sea por el autor de la gema o por los comentarios de los usuarios debido a incompatibilidades). De vez en cuando puede que esté utilizando la versión borde de ciertas gemas por lo que no importa de todos modos:

# Bundle edge Rails instead: 
gem 'rails', :git => 'git://github.com/rails/rails.git' 
gem 'arel', :git => 'git://github.com/rails/arel.git' 
gem "rack", :git => "git://github.com/rack/rack.git" 
1

No creo que se debe especificar la versión de cada gema, ya que las versiones de las gemas de trabajo actuales ya se especifican en Gemfile.lock .

También si lo hace, el comando bundle update sería inútil. Debería poder usar este comando para actualizar las gemas. Si las pruebas pasan y su aplicación continúa funcionando correctamente, simplemente confirme el nuevo Gemfile.lock

+0

'Gemfile.lock' se genera completamente a partir de las reglas especificadas en' Gemfile' y la última 'actualización de paquete', por lo que solo se debe tener en cuenta' Gemfile', independientemente de si las versiones están especificadas o no. – prusswan

+0

eso es lo que estoy diciendo también ... No debe especificar las versiones de cada gema para que 'bundle update' pueda actualizar algunas de ellas –

Cuestiones relacionadas