versiones ver rails mac instalar gems all ruby rubygems bundler

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)