diff options
author | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-11-02 23:07:56 +0000 |
---|---|---|
committer | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-11-02 23:07:56 +0000 |
commit | 59c8d50653480bef3f24517296e6ddf937fdf6bc (patch) | |
tree | df10aaf4f3307837fe3d1d129d66f6c0c7586bc5 /man/bundle-package.1.txt | |
parent | 7deb37777a230837e865e0a11fb8d7c1dc6d03ce (diff) |
Added bundler as default gems. Revisit [Feature #12733]
* bin/*, lib/bundler/*, lib/bundler.rb, spec/bundler, man/*:
Merge from latest stable branch of bundler/bundler repository and
added workaround patches. I will backport them into upstream.
* common.mk, defs/gmake.mk: Added `test-bundler` task for test suite
of bundler.
* tool/sync_default_gems.rb: Added sync task for bundler.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'man/bundle-package.1.txt')
-rw-r--r-- | man/bundle-package.1.txt | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/man/bundle-package.1.txt b/man/bundle-package.1.txt new file mode 100644 index 0000000000..cbe957333a --- /dev/null +++ b/man/bundle-package.1.txt @@ -0,0 +1,79 @@ +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 + 1mdor/cache 22mdirectory. In the future, when running [bundle + install(1)][bundle-install], use the gems in the cache in preference to + the ones on 1mrubygems.org22m. + +1mGIT AND PATH GEMS0m + Since Bundler 1.2, the 1mbundle package 22mcommand can also package 1m:git 22mand + 1m:path 22mdependencies besides .gem files. This needs to be explicitly + enabled via the 1m--all 22moption. Once used, the 1m--all 22moption will be + remembered. + +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. + + Even though the 1mnokogiri 22mgem for the Ruby platform is 4mtechnically0m + acceptable 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 + 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. + + + + October 2018 BUNDLE-PACKAGE(1) |