bundle-cache - manual de referencia, opciones, ejemplos de comandos


NOMBRE

bundle-cache - Empaqueta tus archivos .gem necesarios en tu aplicación

SINOPSIS

bundle cache

alias: package, pack

DESCRIPCIÓN

Copie todos los archivos .gem necesarios para ejecutar la aplicación en el directorio vendor/cache. En el futuro, cuando ejecute bundle install(1) bundle-install.1.html, use las gemas en el caché en lugar de las de rubygems. org.

GEMAS GIT Y RUTA

El comando bundle cache también puede empaquetar las dependencias :git y :path además de los archivos .gem. Esto debe habilitarse explícitamente a través de la opción --all. Una vez utilizada, se recordará la opción --all.

SOPORTE PARA PLATAFORMAS MÚLTIPLES

Cuando se usan gemas que tienen diferentes paquetes para diferentes plataformas, Bundler admite el almacenamiento en caché de gemas para otras plataformas en las que se ha resuelto el Gemfile (es decir, presente en el archivo de bloqueo) en proveedor/caché. Esto debe habilitarse a través de la opción --all-platforms. Esta configuración se recordará en la configuración de su paquete local.

OBTENCIÓN REMOTA

De forma predeterminada, si ejecuta bundle install(1) bundle-install.1.html después de ejecutar bundle cache(1) bundle-cache.1.html, el paquete aún se conectará a rubygems.org para verificar si existe una gema específica de la plataforma para cualquiera de las gemas en vendor/cache.

Por ejemplo, considere este Gemfile(5):

source "https://rubygems.org"

gem "nokogiri"

Si ejecuta bundle cache bajo C Ruby, bundler recuperará la versión de nokogiri para la plataforma "ruby". Si implementa en JRuby y ejecuta bundle install, el empaquetador se ve obligado a comprobar si existe una plataforma "java" nokogiri.

Aunque la gema nokogiri para la plataforma Ruby es técnicamente aceptable en JRuby, tiene una extensión C que no se ejecuta en JRuby. Como resultado, el paquete, de forma predeterminada, aún se conectará a rubygems.org para verificar si tiene una versión de una de sus gemas más específica para su plataforma.

Este problema tampoco se limita a la plataforma "java". Un problema similar (común) puede ocurrir cuando se desarrolla en Windows y se implementa en Linux, o incluso cuando se desarrolla en OSX y se implementa en Linux.

Si está seguro de que las gemas empaquetadas en vendor/cache son apropiadas para la plataforma en la que se encuentra, puede ejecutar bundle install --local para omitir la búsqueda de gemas más apropiadas. gemas, y usa las que están en proveedor/caché.

Una forma de asegurarse de que tiene las versiones de plataforma correctas de todas sus gemas es ejecutar bundle cache en una máquina idéntica y registrar las gemas. Por ejemplo, puede ejecutar caché de paquete en un cuadro de preparación idéntico durante su proceso de preparación y verificar el proveedor/caché antes de implementarlo en producción.

De forma predeterminada, bundle cache(1) bundle-cache.1.html obtiene y también instala las gemas en la ubicación predeterminada. Para empaquetar las dependencias en vendor/cache sin instalarlas en la ubicación de instalación local, puede ejecutar bundle cache --no-install.

HISTORIA

En Bundler 2.1, cache incluía las funcionalidades de package y ahora package y pack son alias de caché.