2010-09-10 17 views
13

Rzeczy opisane w formalnej dokumentacji są nieco skomplikowane.Co dokładnie robi pakiet Bundle Rails 3 "bundle install --deployment"?

Czy to po prostu dodaj następującą linię do .bundle/config

BUNDLE_PATH: vendor/bundle 

a następnie wykonać bundle install, i to wszystko? (instalacja zainstaluje wszystkie klejnoty w vendor/bundle)

Następnie, gdy aplikacja zostanie uruchomiona, wyszuka klejnoty w ścieżce określonej w .bundle/config, i to wszystko?

Update: jeśli używam Mercurial (podobny do GIT), aby śledzić plików w projekcie, a następnie po wykonaniu bundle install --deployment, jedyne zmiany są dużo plików dodawanych do dostawcy/wiązki oraz 2 linie dodany do .bundle/config:

BUNDLE_FROZEN: "1" 
BUNDLE_PATH: vendor/bundle 

Odpowiedz

9

rzeczywiście instaluje klejnoty lokalnie w katalogu vendor/bundle w aplikacji. Jest to odzwierciedlone przez zmianę konfiguracji wymienionego ustawienia ścieżki (BUNDLE_PATH: dostawca/pakiet). Takie podejście jest znane jako "zamrażanie" lub "sprzedawanie" klejnotów i zmusza aplikację do korzystania z lokalnie zainstalowanych klejnotów, a nie globalnych klejnotów systemu, co jest wygodnym standardem dla wdrożenia. Jak wspomniano w dokumentacji Bundler.

„W rozmieszczenia, izolacja jest ważniejsza domyślny Ponadto użytkownik wdrażania aplikacji może nie mieć uprawnień do instalowania perełki do systemu lub serwer www nie może mieć pozwolenie na odczytanie ich. "

Powiązane problemy