2012-07-02 1 views
13

일부 인터넷 보안상의 이유로 서버와 인터넷 연결이 완전히 끊어졌습니다.오프라인 서버에있는 Ruby gem 종속성

그 환경에서 작동하는 다양한 보석에 대한 루비 의존성을 어떻게 만들 수 있습니까? Bundler과 함께 작동하지만 인터넷 연결없이 보석을 사용하여 Bundler를 설치하려면 어떻게해야합니까?

+4

'.gem' 파일에서 bundler를 설치할 수 있습니다. [rubygems] (http://rubygems.org/gems/bundler/)로 가서 'Download'버튼을 누른 다음'gem install bundler-1.1.4.gem'을 실행하십시오. 그런 다음 [bundler package'] (http://gembundler.com/man/bundle-package.1.html)을 사용하여 필요한 모든 보석을 앱의 'vendor/cache' 디렉토리에 압축하여 배포 할 수 있습니다 앱과 함께 서버에 전송합니다. –

+0

고맙습니다! 바로 시도해 보겠습니다. Ruby가 벤더/캐시의 모든 보석을 자동으로 찾거나 특정로드 경로를 지정해야합니까? –

+1

[docs] (http://gembundler.com/man/bundle-package.1.html)에 따르면 서버 번들러의 앱 디렉토리에'bundle install --local'을 실행하면 보석류 만 찾아 볼 것입니다 '납품업자/시렁'. –

답변

21

그런 다음

bundle package 

만약에 ./vendor/cache 디렉토리에 응용 프로그램에 필요한 모든 보석을 포장 할 수 젬에서 .gem 파일로 들러를 다운로드하고

gem install /path/to/bundler.gem 

와 함께 서버에 설치할 수 있습니다 이제 ./vendor/cache 디렉토리와 함께 앱을 서버에 배포하고

bundle install --local 
을 실행합니다.

bundler는 rubygems에 가지 않고 대신 ./vendor/cache 디렉토리의 모든 보석을 설치합니다.

자세한 내용은 bundler-packagedocs을 참조하십시오.

+0

보석을 첫 번째 단계에 가져옵니다. –