bundle-cache - Csomagolja be a szükséges .gem fájlokat az alkalmazásába
bundle cache
alias: package, pack
Másolja át az alkalmazás futtatásához szükséges összes .gem fájlt a szállító/gyorsítótár könyvtárba. A jövőben a bundle install(1) bundle-install.1.html futtatásakor a gyorsítótárban lévő drágaköveket használja a rubygems.org webhelyen lévők helyett.
A bundle cache parancs a .gem fájlok mellett a :git és :path függőséget is képes csomagolni. Ezt kifejezetten engedélyezni kell a --all opcióval. A használat után a --all opciót a rendszer megjegyzi.
Ha különböző platformokhoz különböző csomagokkal rendelkező drágaköveket használ, a Bundler támogatja a drágakövek gyorsítótárazását más platformokon, ahol a Gemfile fel lett oldva (vagyis jelen van a zárfájlban) a szállító/gyorsítótárban. Ezt a --all-platforms opción keresztül kell engedélyezni. Ezt a beállítást a rendszer megjegyzi a helyi kötegelő konfigurációjában.
Alapértelmezés szerint, ha a bundle install(1) bundle-install.1.html futtatását követően a bundle cache(1) bundle-cache.1.html futtatása után a bundler továbbra is csatlakozik a rubygems.org webhelyhez, hogy ellenőrizze, létezik-e platform-specifikus gyöngyszem a ind/cachegems.
Vegyük például ezt a Gemfile-t(5):
source "https://rubygems.org"
gem "nokogiri"Ha a csomag gyorsítótárat C Ruby alatt futtatja, a bundler lekéri a nokogiri verzióját a "ruby" platformhoz. Ha telepíti a JRuby-t, és futtatja a csomagtelepítést, akkor a csomagkezelő kénytelen ellenőrizni, hogy létezik-e „java” platformú nokogiri.
Annak ellenére, hogy a Ruby platformhoz készült nokogiri gyöngyszem technikailag elfogadható JRuby-n, van egy C kiterjesztése, amely nem fut JRuby-n. Ennek eredményeként a kötegelő alapértelmezés szerint továbbra is csatlakozik a rubygems.org webhelyhez, hogy ellenőrizze, van-e olyan verziója, amelyik az Ön platformjára specifikusabb.
Ez a probléma nem korlátozódik a "java" platformra. Hasonló (gyakori) probléma fordulhat elő Windows-on történő fejlesztés és Linuxra történő telepítéskor, vagy akár OSX-en történő fejlesztéskor és Linuxra történő telepítéskor is.
Ha biztosan tudja, hogy a szállító/gyorsítótárba csomagolt drágakövek megfelelőek az Ön által használt platformhoz, futtassa a bundle install --local parancsot, hogy kihagyja a megfelelőbb drágakövek keresését, és használja a szállító/gyorsítótár mappában lévőket.
Az egyik módja annak, hogy megbizonyosodjon arról, hogy az összes drágakövet megfelelő platformra telepítette, ha futtatja a gyorsítótárat egy azonos gépen, és ellenőrizze a drágaköveket. Például futtathatja a gyorsítótár-csomagolást egy azonos átmeneti mezőn az átmeneti folyamat során, és az éles üzembe helyezés előtt ellenőrizze a szállítót/gyorsítótárat.
Alapértelmezés szerint a bundle cache(1) bundle-cache.1.html lekéri és telepíti a drágaköveket az alapértelmezett helyre. A függőségek szállító/gyorsítótárba csomagolásához anélkül, hogy a helyi telepítési helyre telepítené őket, futtassa a cache --no-install funkciót.
A Bundler 2.1-ben a gyorsítótár átvette a csomag funkcióit, és most a csomag és a csomag a álnevei gyorsítótárra.