2011-01-14 7 views
35

¿Hay alguna manera de ejecutar bundle update en modo simulado, similar al indicador -p (pretendido) para generadores Rails o tapas - n bandera (marcha en seco)?¿Puede el paquete mostrarme qué gemas en Gemfile tienen versiones más nuevas (por ejemplo, ejecución en seco de la actualización del paquete)

estoy imaginando algo como:

$> bundle update -p 
Fetching source index for http://rubygems.org/ 
The following gems have updated versions: 
... 
list of gems 
... 
+0

Estaba buscando algo así hace unos días, pero hasta ahora no tuve suerte. Con suerte, tendrán algo así como pronto si aún no existe. –

Respuesta

48

Bündler 1.1 introdujo una nueva característica 'anticuado', que es exactamente lo que estaba buscando. Pat Shaughnessy tiene una gran write-up en las nuevas características. En sus palabras, bundle outdated:

muestra las gemas que sería descargar e instalar, pero sin llegar a hacerlo. Esto me da la libertad de inspeccionar la lista y actualizar solo las gemas que me gustaría.

Esto debería hacer que sea fácil ver qué gemas son necesarias para una actualización sin modificar realmente su fuente y gemas locales. Gracias Bundler!

+7

Parece que 'paquete desactualizado' mostrará versiones más nuevas de gemas, pero no tendrá en cuenta los límites de versión especificados en su' Gemfile', por lo que es posible que no muestre los mismos resultados que una actualización completa. Por ejemplo, tengo 'gem 'rails', '~> 3.1.3'' especificado en mi Gemfile, y' bundle update rails' funciona como se esperaba, pero 'bundle outdated' muestra' * rails (3.2.8> 3.1. 3) '. –

+2

@zole, que puede verse como una ventaja o una desventaja. Por ejemplo, normalmente especifico las versiones de gemas para cada gema, por lo que 'paquete desactualizado 'sería inútil para mí si se miraran esas versiones. Pero para alguien como tú que solo limita las versiones de algunas gemas, sería mejor que compruebes la versión. Entonces, creo que un argumento opcional sería la solución para nuestros dos casos. – Cristian

+6

Parece que la opción '--strict' se agregó en el paquete de versión v1.5. Lo probé y parece funcionar como lo esperaba @zol. Fuente: http://bundler.io/v1.7/bundle_outdated.html – complistic

4
$ bundle update 
$ git diff Gemfile.lock 
$ git checkout Gemfile.lock 
+0

Esto no está ni cerca de una respuesta a la pregunta. OP pregunta acerca de "bundler"; esta respuesta proporciona una solución hacky que no tiene nada que ver con la funcionalidad de bundler. –

+1

Tu comentario es malo. Se pierde tanto el punto - no, bundler no tiene tal comentario, pero aquí hay una solución alternativa - y el contexto - esta respuesta se escribió antes de que 'bundle obsoleto' o cualquier otro comando similar. – yfeldblum

Cuestiones relacionadas