bundle package

gem을 ./vendor/cache에 고정하고 캐시합니다.
$ bundle package [--all] [--all-platforms] [--gemfile=GEMFILE] [--no-prune]
                 [--path=PATH] [--quiet]

옵션:

--all: :git, :path, .gem 의존성을 패키징합니다. 한 번 사용되면 --all 옵션을 기억합니다.

--all-platforms: bundle package가 실행 되는 환경 뿐만 아니라 모든 알려진 플랫폼을 대상으로 의존성을 패키징합니다. 이 옵션은 로컬 번들러 설정에 기억됩니다.

--gemfile: Gemfile 대신 지정한 gemfile을 사용합니다.

--no-install: gem을 실제로 설치하지 않고, 패키지만 합니다.

--no-prune: 오래된 gem을 캐시에서 제거하지 않습니다.

--path: 시스템 기본 값 대신 다른 경로를 지정합니다.

--quiet: 경고와 에러만 출력합니다.

package 명령어는 번들 안의 gem을 위한 .gem 파일을 ./vendor/cache에 복사합니다. 그 후 bundle install을 실행하면 번들러는 rubygems.org보다 높은 우선순위로 캐시 안의 gem을 사용합니다.

추가적으로 버전 관리 저장소에 캐시 디렉터리를 체크인하면 다른 사람들이 체크아웃할 때 추가적인 gem의 다운로드 없이 설치하게 할 수 있습니다.

RubyGems의 gem을 ./vendor/cache에 고정하고 캐시합니다.
$ bundle package

기본 값으로 bundle package 후에 bundle install을 실행하면 번들러는 여전히 rubygems.org에 접속해 vendor/cache 안의 gem 중 플랫폼 지정 gem이 있는지 확인합니다.

이 행동은 bundle install --local을 실행함으로써 회피할 수 있습니다. 이 명령은 캐시된 모든 gem에 대해 정확한 플랫폼 버전이 필요하니 주의하세요. 이 목표를 달성하기 위한 가장 쉬운 방법은 동일한 기기에서 bundle package를 실행하고 벤더의 gem을 확인하는 것입니다.

gem을 ./vendor/cache에 고정, 캐시하고 오래된 gem을 캐시에서 제거하지 않습니다.
$ bundle package --no-prune
:git, :path, .gem 의존성을 포함해 gem을 ./vendor/cache에 고정하고 캐시합니다.
$ bundle package --all

한 번 사용되면 --all 옵션을 기억합니다.

이 옵션은 번들러 2.0에서 기본 값이 됩니다.

Fork me on GitHub
Docs: Previous Version (v1.10) Current Version (v1.11)