2018-11-02 19:07:56 -04:00
|
|
|
BUNDLE-PACKAGE(1) BUNDLE-PACKAGE(1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1mNAME0m
|
|
|
|
1mbundle-package 22m- Package your needed 1m.gem 22mfiles into your application
|
|
|
|
|
|
|
|
1mSYNOPSIS0m
|
|
|
|
1mbundle package0m
|
|
|
|
|
|
|
|
1mDESCRIPTION0m
|
|
|
|
Copy all of the 1m.gem 22mfiles needed to run the application into the 1mven-0m
|
2019-01-04 08:10:58 -05:00
|
|
|
1mdor/cache 22mdirectory. In the future, when running [bundle in-
|
|
|
|
stall(1)][bundle-install], use the gems in the cache in preference to
|
2018-11-02 19:07:56 -04:00
|
|
|
the ones on 1mrubygems.org22m.
|
|
|
|
|
|
|
|
1mGIT AND PATH GEMS0m
|
|
|
|
Since Bundler 1.2, the 1mbundle package 22mcommand can also package 1m:git 22mand
|
2019-01-04 08:10:58 -05:00
|
|
|
1m:path 22mdependencies besides .gem files. This needs to be explicitly en-
|
|
|
|
abled via the 1m--all 22moption. Once used, the 1m--all 22moption will be remem-
|
|
|
|
bered.
|
2018-11-02 19:07:56 -04:00
|
|
|
|
|
|
|
1mSUPPORT FOR MULTIPLE PLATFORMS0m
|
|
|
|
When using gems that have different packages for different platforms,
|
|
|
|
Bundler 1.8 and newer support caching of gems for other platforms where
|
|
|
|
the Gemfile has been resolved (i.e. present in the lockfile) in 1mven-0m
|
|
|
|
1mdor/cache22m. This needs to be enabled via the 1m--all-platforms 22moption.
|
|
|
|
This setting will be remembered in your local bundler configuration.
|
|
|
|
|
|
|
|
1mREMOTE FETCHING0m
|
|
|
|
By default, if you run 1mbundle install(1)22m](bundle-install.1.html) after
|
|
|
|
running bundle package(1) 4mbundle-package.1.html24m, bundler will still
|
|
|
|
connect to 1mrubygems.org 22mto check whether a platform-specific gem exists
|
|
|
|
for any of the gems in 1mvendor/cache22m.
|
|
|
|
|
|
|
|
For instance, consider this Gemfile(5):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
source "https://rubygems.org"
|
|
|
|
|
|
|
|
gem "nokogiri"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you run 1mbundle package 22munder C Ruby, bundler will retrieve the ver-
|
|
|
|
sion of 1mnokogiri 22mfor the 1m"ruby" 22mplatform. If you deploy to JRuby and
|
|
|
|
run 1mbundle install22m, bundler is forced to check to see whether a 1m"java"0m
|
|
|
|
platformed 1mnokogiri 22mexists.
|
|
|
|
|
2019-01-04 08:10:58 -05:00
|
|
|
Even though the 1mnokogiri 22mgem for the Ruby platform is 4mtechnically24m ac-
|
|
|
|
ceptable on JRuby, it has a C extension that does not run on JRuby. As
|
|
|
|
a result, bundler will, by default, still connect to 1mrubygems.org 22mto
|
2018-11-02 19:07:56 -04:00
|
|
|
check whether it has a version of one of your gems more specific to
|
|
|
|
your platform.
|
|
|
|
|
|
|
|
This problem is also not limited to the 1m"java" 22mplatform. A similar
|
|
|
|
(common) problem can happen when developing on Windows and deploying to
|
|
|
|
Linux, or even when developing on OSX and deploying to Linux.
|
|
|
|
|
|
|
|
If you know for sure that the gems packaged in 1mvendor/cache 22mare appro-
|
|
|
|
priate for the platform you are on, you can run 1mbundle install --local0m
|
|
|
|
to skip checking for more appropriate gems, and use the ones in 1mven-0m
|
|
|
|
1mdor/cache22m.
|
|
|
|
|
|
|
|
One way to be sure that you have the right platformed versions of all
|
|
|
|
your gems is to run 1mbundle package 22mon an identical machine and check in
|
|
|
|
the gems. For instance, you can run 1mbundle package 22mon an identical
|
|
|
|
staging box during your staging process, and check in the 1mvendor/cache0m
|
|
|
|
before deploying to production.
|
|
|
|
|
|
|
|
By default, bundle package(1) 4mbundle-package.1.html24m fetches and also
|
|
|
|
installs the gems to the default location. To package the dependencies
|
|
|
|
to 1mvendor/cache 22mwithout installing them to the local install location,
|
|
|
|
you can run 1mbundle package --no-install22m.
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-11-27 07:08:19 -05:00
|
|
|
November 2018 BUNDLE-PACKAGE(1)
|