2012-07-02 9 views
13

Mam serwer, który jest całkowicie odłączony od Internetu (z pewnych dziwnych względów bezpieczeństwa).Zależności gem rubinu na serwerze offline

Jak mogę ustawić zależności Ruby w różnych klejnotach w tym środowisku? Może współpracować z Bundler, ale jak zainstalować program Bundler przy użyciu gem bez połączenia z Internetem?

+4

Możesz zainstalować bundler z pliku '.gem'. Przejdź do [rubygems] (http://rubygems.org/gems/bundler/), naciśnij przycisk "Pobierz", a następnie wykonaj "gem install bundler-1.1.4.gem". Następnie możesz użyć pakietu '' bundler package'] (http://gembundler.com/man/bundle-package.1.html), aby spakować wszystkie niezbędne klejnoty do katalogu 'vendor/cache', dzięki czemu możesz je wdrożyć na twój serwer wraz z aplikacją. –

+0

Dziękuję, spróbuję od razu. Czy Ruby znajdzie wszystkie klejnoty w pamięci podręcznej/pamięci podręcznej automatycznie, czy też muszę określić określoną ścieżkę ładowania? –

+1

Zgodnie z [docs] (http://gembundler.com/man/bundle-package.1.html) jeśli zrobisz 'bundle install --local' w katalogu swojej aplikacji na serwerze bundler będzie szukać klejnotów tylko w 'vendor/cache'. –

Odpowiedz

21

Można pobrać Bundler jako plik z RubyGems .gem i zainstalować go na serwerze z

gem install /path/to/bundler.gem 

Następnie można zapakować wszystkie klejnoty wymagane dla aplikacji do ./vendor/cache katalogu z

bundle package 

If teraz zainstaluj swoją aplikację (wraz z katalogiem ./vendor/cache) na serwerze i uruchom

bundle install --local 

bundler nie trafi do rubygemów, ale zamiast tego zainstaluje wszystkie klejnoty z katalogu ./vendor/cache.

Aby uzyskać więcej informacji, zobacz bundler-packagedocs.

+0

Przybornik gem fetch dla pierwszego kroku –