bundle-cache - 참조 설명서, 옵션, 명령 예제


이름

bundle-cache - 필요한 .gem 파일을 애플리케이션에 패키징

개요

bundle cache

alias: package, pack

설명

애플리케이션을 실행하는 데 필요한 모든 .gem 파일을 vendor/cache 디렉토리에 복사합니다. 앞으로 bundle install(1) bundle-install.1.html을 실행할 때 rubygems에 있는 것보다 캐시에 있는 gem을 사용하세요. 조직.

GIT 및 경로 보석

bundle cache 명령은 .gem 파일 외에 :git 및 :path 종속성을 패키징할 수도 있습니다. --all 옵션을 통해 명시적으로 활성화해야 합니다. 한 번 사용하면 --all 옵션이 기억됩니다.

여러 플랫폼 지원

플랫폼마다 다른 패키지가 있는 gem을 사용할 때 Bundler는 vendor/cache에서 Gemfile이 해결된(즉, 잠금 파일에 있는) 다른 플랫폼에 대한 gem 캐싱을 지원합니다. --all-platforms 옵션을 통해 활성화해야 합니다. 이 설정은 로컬 번들러 구성에 기억됩니다.

원격 가져오기

기본적으로 bundle cache(1) bundle-cache.1.html<을 실행한 후 bundle install(1) bundle-install.1.html을 실행하면, 번들러는 여전히 rubygems.org에 연결하여 플랫폼별 gem이 vendor/cache에 있는 gem에 대해 존재하는지 확인합니다.

예를 들어 다음 Gemfile(5)을 고려하십시오.

source "https://rubygems.org"

gem "nokogiri"

C Ruby에서 번들 캐시를 실행하면 번들러가 "ruby" 플랫폼용 nokogiri 버전을 검색합니다. JRuby에 배포하고 번들 설치를 실행하면 번들러는 "java" 플랫폼 nokogiri가 있는지 확인해야 합니다.

Ruby 플랫폼용 nokogiri gem은 기술적으로 JRuby에서 허용되지만 JRuby에서 실행되지 않는 C 확장이 있습니다. 결과적으로 번들러는 기본적으로 여전히 rubygems.org에 연결하여 플랫폼에 더 특정한 버전의 gem이 있는지 확인합니다.

이 문제는 "java" 플랫폼에만 국한되지 않습니다. Windows에서 개발하고 Linux에 배포할 때 또는 OSX에서 개발하고 Linux에 배포할 때도 유사한(일반적인) 문제가 발생할 수 있습니다.

vendor/cache에 패키징된 gem이 현재 사용 중인 플랫폼에 적합하다는 것을 확실히 알고 있다면 bundle install --local을 실행하여 더 적합한지 확인하는 것을 건너뛸 수 있습니다. 보석, 공급업체/캐시에 있는 보석을 사용하세요.

모든 gem의 올바른 플랫폼 버전을 가지고 있는지 확인하는 한 가지 방법은 동일한 시스템에서 번들 캐시를 실행하고 gem을 체크인하는 것입니다. 예를 들어 스테이징 프로세스 중에 동일한 스테이징 상자에서 번들 캐시를 실행하고 프로덕션에 배포하기 전에 공급업체/캐시를 체크인할 수 있습니다.

기본적으로 bundle cache(1) bundle-cache.1.html은 gem을 가져와서 기본 위치에 설치합니다. 종속성을 로컬 설치 위치에 설치하지 않고 공급업체/캐시에 패키징하려면 bundle cache --no-install을 실행할 수 있습니다.

역사

Bundler 2.1에서 cache는 package의 기능을 가져왔으며 이제 package 및 pack은 의 별칭입니다. 캐시.