bundle-cache - instrukcja obsługi, opcje, przykłady poleceń


NAZWA

bundle-cache - Spakuj potrzebne pliki .gem do swojej aplikacji

STRESZCZENIE

bundle cache

alias: package, pack

OPIS

Skopiuj wszystkie pliki .gem potrzebne do uruchomienia aplikacji do katalogu vendor/cache. W przyszłości, podczas uruchamiania bundle install(1) bundle-install.1.html, używaj klejnotów w pamięci podręcznej zamiast tych w rubygems. org.

KLEJNOTY GIT I PATH

Polecenie bundle cache może również pakować zależności :git i :path oprócz plików .gem. Należy to wyraźnie włączyć za pomocą opcji --all. Raz użyta opcja --all zostanie zapamiętana.

OBSŁUGA WIELU PLATFORM

Podczas korzystania z klejnotów, które mają różne pakiety dla różnych platform, Bundler obsługuje buforowanie klejnotów dla innych platform, na których plik Gemfile został rozwiązany (tj. obecny w pliku blokującym) w vendor/cache. Należy to włączyć za pomocą opcji --all-platforms. To ustawienie zostanie zapamiętane w lokalnej konfiguracji pakietu.

POBIERANIE ZDALNE

Domyślnie, jeśli uruchomisz bundle install(1) bundle-install.1.html po uruchomieniu bundle cache(1) bundle-cache.1.html, pakiet nadal będzie łączył się z rubygems.org, aby sprawdzić, czy istnieje klejnot specyficzny dla platformy dla któregokolwiek z klejnotów w vendor/cache.

Weźmy na przykład ten plik Gemfile(5):

source "https://rubygems.org"

gem "nokogiri"

Jeśli uruchomisz bundle cache w C Ruby, bundler pobierze wersję nokogiri dla platformy „ruby”. Jeśli wdrażasz w JRuby i uruchamiasz bundle install, pakiet jest zmuszony sprawdzić, czy "java" istnieje platforma nokogiri.

Mimo że klejnot nokogiri dla platformy Ruby jest technicznie akceptowalny w JRuby, ma rozszerzenie C, które nie działa w JRuby. W rezultacie program bundler domyślnie nadal będzie łączył się z witryną rubygems.org, aby sprawdzić, czy istnieje wersja jednego z Twoich klejnotów bardziej specyficzna dla Twojej platformy.

Ten problem nie ogranicza się również do platformy "java". Podobny (częsty) problem może wystąpić podczas programowania w systemie Windows i wdrażania w systemie Linux, a nawet podczas opracowywania w systemie OSX i wdrażania w systemie Linux.

Jeśli wiesz na pewno, że klejnoty spakowane w vendor/cache są odpowiednie dla używanej platformy, możesz uruchomić bundle install --local, aby pominąć sprawdzanie bardziej odpowiednich klejnoty i użyj tych w vendor/cache.

Jednym ze sposobów upewnienia się, że masz wersje wszystkich swoich klejnotów na odpowiednią platformę, jest uruchomienie pamięci podręcznej pakietów na identycznej maszynie i sprawdzenie klejnotów. Na przykład możesz uruchomić pamięć podręczną pakietu na identycznym urządzeniu pomostowym podczas procesu pomostowego i sprawdzić dostawcę/pamięć podręczną przed wdrożeniem do produkcji.

Domyślnie bundle cache(1) bundle-cache.1.html pobiera i instaluje klejnoty w domyślnej lokalizacji. Aby spakować zależności do vendor/cache bez instalowania ich w lokalnej lokalizacji instalacji, możesz uruchomić bundle cache --no-install.

HISTORIA

W Bundlerze 2.1 cache przejął funkcje package, a teraz package i pack są aliasami pamięć podręczna.