ruby - mac - ver version de rails
Actualizar solo una gema con bundler (7)
Utilizo el agrupador para administrar las dependencias en mi aplicación Rails, y tengo una gema alojada en un repositorio de git que se incluye a continuación:
gem ''gem-name'', :git => ''path/to/my/gem.git''
Para actualizar esta gema, ejecuto la 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?
He utilizado la bundle update --source
me he bundle update --source
durante mucho tiempo, pero hay escenarios en los que no funciona. Afortunadamente, hay una gema llamada bundler-patch
que tiene el objetivo de solucionar este problema.
También escribí una breve publicación en el blog sobre cómo usar bundler-patch
y por qué la bundle update --source
no funciona de manera consistente. Además, asegúrese de revisar una publicación de chrismo que explique con gran detalle lo que hace la opción --source
.
La forma de hacerlo es ejecutar el siguiente comando:
bundle update --source gem-name
Parece que con las versiones más recientes de bundler (> = 1.14) es:
bundle update --conservative gem-name
Simplemente necesita especificar el nombre de la gema en la línea de comando:
bundle update gem-name
Here puedes encontrar una buena explicación sobre la diferencia entre
Actualizar tanto la gema como las dependencias:
bundle update gem-name
o
Actualizar exclusivamente la gema:
bundle update --source gem-name
junto con algunos buenos ejemplos de posibles efectos secundarios.
Actualizar
Como dice la respuesta de @ Tim, a partir de Bundler 1.14, la manera oficial de hacerlo es con la bundle update --conservative gem-name
.
bundle update gem-name [--major|--patch|--minor]
Esto también funciona para dependencias.
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 de 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é el hash de confirmación de 8 caracteres de taquigrafía para la url)