Utilizo bundler para administrar las dependencias en mi aplicación rails, y tengo una gema alojada en un repositorio de git incluida de la siguiente manera:
gem 'gem-name', :git => 'path/to/my/gem.git'
Para actualizar esta gema, ejecuto bundle update
pero también actualiza todas las gemas mencionadas en Gemfile. Entonces, ¿cuál es el comando para actualizar solo una gema específica?
La forma de hacerlo es ejecutar el siguiente comando:
fuente
Parece que con las versiones más nuevas de bundler (> = 1.14) es:
fuente
Simplemente necesita especificar el nombre de la gema en la línea de comando:
fuente
bundle help update
dice hacer. ¿Qué versión de bundler estás usando?bundle update gem-name
actualizará la gema y "cualquiera de sus dependencias".bundle update gem-name [--major|--patch|--minor]
Esto también funciona para las dependencias.
fuente
--major
,--minor
y--patch
banderas actualizará automáticamente a la versión más reciente posible.Me he usado
bundle update --source
durante mucho tiempo, pero hay escenarios en los que no funciona. Por suerte, hay una gema llamadabundler-patch
que tiene el objetivo de corregir esta deficiencia.También escribí una breve publicación de blog sobre cómo usar
bundler-patch
y por québundle update --source
no funciona de manera consistente. Además, asegúrese de revisar una publicación de chrismo que explica con gran detalle lo que hace la--source
opción.fuente
bundler update --source gem-name
actualizará el hash de revisión en Gemfile.lock que puede comparar con el último hash de confirmación de esa rama git (maestro de forma predeterminada).GIT remote: [email protected]:organization/repo-name.git revision: c810f4a29547b60ca8106b7a6b9a9532c392c954
se puede encontrar en
github.com/organization/repo-name/commits/c810f4a2
(usé taquigrafía de confirmación de 8 caracteres para la url)fuente