mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[bundler/bundler] Commit man pages to source control
This has the benefit that: * Allows the installation of bundler as a default gem from rubygems to include man pages. * Removes the need to build man pages during our tests. * Makes working with the manifest easier, because we only have source controlled files, and not a mix of source control and generated files. To make sure they never fall out of sync, we replace the previous `man:build` CI task with a `man:check` task that makes sure the generated man pages are up to date. https://github.com/bundler/bundler/commit/23de1d0177
This commit is contained in:
parent
8f28ae65a8
commit
f48a61fb46
Notes:
git
2019-08-31 04:40:14 +09:00
54 changed files with 296 additions and 298 deletions
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-ADD" "1" "May 2019" "" ""
|
||||
.TH "BUNDLE\-ADD" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-add\fR \- Add gem to the Gemfile and run bundle install
|
||||
|
|
|
@ -55,4 +55,4 @@ OPTIONS
|
|||
|
||||
|
||||
|
||||
May 2019 BUNDLE-ADD(1)
|
||||
August 2019 BUNDLE-ADD(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-BINSTUBS" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-BINSTUBS" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-binstubs\fR \- Install the binstubs of the listed gems
|
||||
|
@ -10,7 +10,7 @@
|
|||
\fBbundle binstubs\fR \fIGEM_NAME\fR [\-\-force] [\-\-path PATH] [\-\-standalone]
|
||||
.
|
||||
.SH "DESCRIPTION"
|
||||
Binstubs are scripts that wrap around executables\. Bundler creates a small Ruby file (a binstub) that loads Bundler, runs the command, and puts it into \fBbin/\fR\. Binstubs are a shortcut\-or alternative\- to always using \fBbundle exec\fR\. This gives you a file that can by run directly, and one that will always run the correct gem version used by the application\.
|
||||
Binstubs are scripts that wrap around executables\. Bundler creates a small Ruby file (a binstub) that loads Bundler, runs the command, and puts it into \fBbin/\fR\. Binstubs are a shortcut\-or alternative\- to always using \fBbundle exec\fR\. This gives you a file that can be run directly, and one that will always run the correct gem version used by the application\.
|
||||
.
|
||||
.P
|
||||
For example, if you run \fBbundle binstubs rspec\-core\fR, Bundler will create the file \fBbin/rspec\fR\. That file will contain enough code to load Bundler, tell it to load the bundled gems, and then run rspec\.
|
||||
|
|
|
@ -12,7 +12,7 @@ DESCRIPTION
|
|||
Binstubs are scripts that wrap around executables. Bundler creates a
|
||||
small Ruby file (a binstub) that loads Bundler, runs the command, and
|
||||
puts it into bin/. Binstubs are a shortcut-or alternative- to always
|
||||
using bundle exec. This gives you a file that can by run directly, and
|
||||
using bundle exec. This gives you a file that can be run directly, and
|
||||
one that will always run the correct gem version used by the applica-
|
||||
tion.
|
||||
|
||||
|
@ -45,4 +45,4 @@ BUNDLE INSTALL --BINSTUBS
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-BINSTUBS(1)
|
||||
August 2019 BUNDLE-BINSTUBS(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-CHECK" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-CHECK" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-check\fR \- Verifies if dependencies are satisfied by installed gems
|
||||
|
|
|
@ -9,8 +9,8 @@ SYNOPSIS
|
|||
bundle check [--dry-run] [--gemfile=FILE] [--path=PATH]
|
||||
|
||||
DESCRIPTION
|
||||
check searches the local machine for each of the gems requested in the
|
||||
Gemfile. If all gems are found, Bundler prints a success message and
|
||||
check searches the local machine for each of the gems requested in the
|
||||
Gemfile. If all gems are found, Bundler prints a success message and
|
||||
exits with a status of 0.
|
||||
|
||||
If not, the first missing gem is listed and Bundler exits status 1.
|
||||
|
@ -20,14 +20,14 @@ OPTIONS
|
|||
Locks the [Gemfile(5)][Gemfile(5)] before running the command.
|
||||
|
||||
--gemfile
|
||||
Use the specified gemfile instead of the [Gemfile(5)][Gem-
|
||||
Use the specified gemfile instead of the [Gemfile(5)][Gem-
|
||||
file(5)].
|
||||
|
||||
--path Specify a different path than the system default ($BUNDLE_PATH
|
||||
or $GEM_HOME). Bundler will remember this value for future
|
||||
--path Specify a different path than the system default ($BUNDLE_PATH
|
||||
or $GEM_HOME). Bundler will remember this value for future
|
||||
installs on this machine.
|
||||
|
||||
|
||||
|
||||
|
||||
March 2019 BUNDLE-CHECK(1)
|
||||
August 2019 BUNDLE-CHECK(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-CLEAN" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-CLEAN" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-clean\fR \- Cleans up unused gems in your bundler directory
|
||||
|
|
|
@ -23,4 +23,4 @@ OPTIONS
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-CLEAN(1)
|
||||
August 2019 BUNDLE-CLEAN(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-CONFIG" "1" "May 2019" "" ""
|
||||
.TH "BUNDLE\-CONFIG" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-config\fR \- Set bundler configuration options
|
||||
|
@ -157,7 +157,7 @@ The following is a list of all configuration keys and their purpose\. You can le
|
|||
\fBcache_all_platforms\fR (\fBBUNDLE_CACHE_ALL_PLATFORMS\fR): Cache gems for all platforms\.
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
\fBcache_path\fR (\fBBUNDLE_CACHE_PATH\fR): The directory that bundler will place cached gems in when running \fBbundle package\fR, and that bundler will look in when installing gems\. Defaults to \fBvendor/bundle\fR\.
|
||||
\fBcache_path\fR (\fBBUNDLE_CACHE_PATH\fR): The directory that bundler will place cached gems in when running \fBbundle package\fR, and that bundler will look in when installing gems\. Defaults to \fBvendor/cache\fR\.
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
\fBclean\fR (\fBBUNDLE_CLEAN\fR): Whether Bundler should run \fBbundle clean\fR automatically after \fBbundle install\fR\.
|
||||
|
@ -184,9 +184,6 @@ The following is a list of all configuration keys and their purpose\. You can le
|
|||
\fBdisable_multisource\fR (\fBBUNDLE_DISABLE_MULTISOURCE\fR): When set, Gemfiles containing multiple sources will produce errors instead of warnings\. Use \fBbundle config unset disable_multisource\fR to unset\.
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
\fBdisable_platform_warnings\fR (\fBBUNDLE_DISABLE_PLATFORM_WARNINGS\fR): Disable warnings during bundle install when a dependency is unused on the current platform\.
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
\fBdisable_shared_gems\fR (\fBBUNDLE_DISABLE_SHARED_GEMS\fR): Stop Bundler from accessing gems installed to RubyGems\' normal location\.
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
|
|
|
@ -179,7 +179,7 @@ LIST OF AVAILABLE KEYS
|
|||
|
||||
o cache_path (BUNDLE_CACHE_PATH): The directory that bundler will
|
||||
place cached gems in when running bundle package, and that bundler
|
||||
will look in when installing gems. Defaults to vendor/bundle.
|
||||
will look in when installing gems. Defaults to vendor/cache.
|
||||
|
||||
o clean (BUNDLE_CLEAN): Whether Bundler should run bundle clean auto-
|
||||
matically after bundle install.
|
||||
|
@ -210,10 +210,6 @@ LIST OF AVAILABLE KEYS
|
|||
files containing multiple sources will produce errors instead of
|
||||
warnings. Use bundle config unset disable_multisource to unset.
|
||||
|
||||
o disable_platform_warnings (BUNDLE_DISABLE_PLATFORM_WARNINGS): Dis-
|
||||
able warnings during bundle install when a dependency is unused on
|
||||
the current platform.
|
||||
|
||||
o disable_shared_gems (BUNDLE_DISABLE_SHARED_GEMS): Stop Bundler from
|
||||
accessing gems installed to RubyGems' normal location.
|
||||
|
||||
|
@ -522,4 +518,4 @@ CONFIGURE BUNDLER DIRECTORIES
|
|||
|
||||
|
||||
|
||||
May 2019 BUNDLE-CONFIG(1)
|
||||
August 2019 BUNDLE-CONFIG(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-DOCTOR" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-DOCTOR" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-doctor\fR \- Checks the bundle for common problems
|
||||
|
|
|
@ -41,4 +41,4 @@ OPTIONS
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-DOCTOR(1)
|
||||
August 2019 BUNDLE-DOCTOR(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-EXEC" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-EXEC" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-exec\fR \- Execute a command in the context of the bundle
|
||||
|
|
|
@ -175,4 +175,4 @@ RUBYGEMS PLUGINS
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-EXEC(1)
|
||||
August 2019 BUNDLE-EXEC(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-GEM" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-GEM" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-gem\fR \- Generate a project skeleton for creating a rubygem
|
||||
|
|
|
@ -77,8 +77,8 @@ OPTIONS
|
|||
|
||||
-e, --edit[=EDITOR]
|
||||
Open the resulting GEM_NAME.gemspec in EDITOR, or the default
|
||||
editor if not specified. The default is $BUNDLER_EDITOR,
|
||||
$VISUAL, or $EDITOR.
|
||||
editor if not specified. The default is $BUNDLER_EDITOR, $VIS-
|
||||
UAL, or $EDITOR.
|
||||
|
||||
SEE ALSO
|
||||
o bundle config(1) bundle-config.1.html
|
||||
|
@ -88,4 +88,4 @@ SEE ALSO
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-GEM(1)
|
||||
August 2019 BUNDLE-GEM(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-INFO" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-INFO" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-info\fR \- Show information for the given gem in your bundle
|
||||
|
|
|
@ -18,4 +18,4 @@ OPTIONS
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-INFO(1)
|
||||
August 2019 BUNDLE-INFO(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-INIT" "1" "April 2019" "" ""
|
||||
.TH "BUNDLE\-INIT" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-init\fR \- Generates a Gemfile into the current working directory
|
||||
|
|
|
@ -31,4 +31,4 @@ SEE ALSO
|
|||
|
||||
|
||||
|
||||
April 2019 BUNDLE-INIT(1)
|
||||
August 2019 BUNDLE-INIT(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-INJECT" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-INJECT" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-inject\fR \- Add named gem(s) with version requirements to Gemfile
|
||||
|
|
|
@ -29,4 +29,4 @@ DESCRIPTION
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-INJECT(1)
|
||||
August 2019 BUNDLE-INJECT(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-INSTALL" "1" "April 2019" "" ""
|
||||
.TH "BUNDLE\-INSTALL" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-install\fR \- Install the dependencies specified in your Gemfile
|
||||
|
|
|
@ -193,14 +193,14 @@ DEPLOYMENT MODE
|
|||
|
||||
|
||||
SUDO USAGE
|
||||
By default, Bundler installs gems to the same location as gem install.
|
||||
By default, Bundler installs gems to the same location as gem install.
|
||||
|
||||
In some cases, that location may not be writable by your Unix user. In
|
||||
In some cases, that location may not be writable by your Unix user. In
|
||||
that case, Bundler will stage everything in a temporary directory, then
|
||||
ask you for your sudo password in order to copy the gems into their
|
||||
ask you for your sudo password in order to copy the gems into their
|
||||
system location.
|
||||
|
||||
From your perspective, this is identical to installing the gems
|
||||
From your perspective, this is identical to installing the gems
|
||||
directly into the system.
|
||||
|
||||
You should never use sudo bundle install. This is because several other
|
||||
|
@ -214,36 +214,36 @@ SUDO USAGE
|
|||
|
||||
|
||||
|
||||
Of these three, the first two could theoretically be performed by
|
||||
chowning the resulting files to $SUDO_USER. The third, however, can
|
||||
only be performed by invoking the git command as the current user.
|
||||
Therefore, git gems are downloaded and installed into ~/.bundle rather
|
||||
Of these three, the first two could theoretically be performed by
|
||||
chowning the resulting files to $SUDO_USER. The third, however, can
|
||||
only be performed by invoking the git command as the current user.
|
||||
Therefore, git gems are downloaded and installed into ~/.bundle rather
|
||||
than $GEM_HOME or $BUNDLE_PATH.
|
||||
|
||||
As a result, you should run bundle install as the current user, and
|
||||
As a result, you should run bundle install as the current user, and
|
||||
Bundler will ask for your password if it is needed to put the gems into
|
||||
their final location.
|
||||
|
||||
INSTALLING GROUPS
|
||||
By default, bundle install will install all gems in all groups in your
|
||||
By default, bundle install will install all gems in all groups in your
|
||||
Gemfile(5), except those declared for a different platform.
|
||||
|
||||
However, you can explicitly tell Bundler to skip installing certain
|
||||
groups with the --without option. This option takes a space-separated
|
||||
However, you can explicitly tell Bundler to skip installing certain
|
||||
groups with the --without option. This option takes a space-separated
|
||||
list of groups.
|
||||
|
||||
While the --without option will skip installing the gems in the speci-
|
||||
fied groups, it will still download those gems and use them to resolve
|
||||
While the --without option will skip installing the gems in the speci-
|
||||
fied groups, it will still download those gems and use them to resolve
|
||||
the dependencies of every gem in your Gemfile(5).
|
||||
|
||||
This is so that installing a different set of groups on another machine
|
||||
(such as a production server) will not change the gems and versions
|
||||
(such as a production server) will not change the gems and versions
|
||||
that you have already developed and tested against.
|
||||
|
||||
Bundler offers a rock-solid guarantee that the third-party code you are
|
||||
running in development and testing is also the third-party code you are
|
||||
running in production. You can choose to exclude some of that code in
|
||||
different environments, but you will never be caught flat-footed by
|
||||
running in production. You can choose to exclude some of that code in
|
||||
different environments, but you will never be caught flat-footed by
|
||||
different versions of third-party code being used in different environ-
|
||||
ments.
|
||||
|
||||
|
@ -261,63 +261,63 @@ INSTALLING GROUPS
|
|||
|
||||
|
||||
|
||||
In this case, sinatra depends on any version of Rack (>= 1.0), while
|
||||
In this case, sinatra depends on any version of Rack (>= 1.0), while
|
||||
rack-perftools-profiler depends on 1.x (~> 1.0).
|
||||
|
||||
When you run bundle install --without production in development, we
|
||||
look at the dependencies of rack-perftools-profiler as well. That way,
|
||||
you do not spend all your time developing against Rack 2.0, using new
|
||||
APIs unavailable in Rack 1.x, only to have Bundler switch to Rack 1.2
|
||||
When you run bundle install --without production in development, we
|
||||
look at the dependencies of rack-perftools-profiler as well. That way,
|
||||
you do not spend all your time developing against Rack 2.0, using new
|
||||
APIs unavailable in Rack 1.x, only to have Bundler switch to Rack 1.2
|
||||
when the production group is used.
|
||||
|
||||
This should not cause any problems in practice, because we do not
|
||||
attempt to install the gems in the excluded groups, and only evaluate
|
||||
This should not cause any problems in practice, because we do not
|
||||
attempt to install the gems in the excluded groups, and only evaluate
|
||||
as part of the dependency resolution process.
|
||||
|
||||
This also means that you cannot include different versions of the same
|
||||
gem in different groups, because doing so would result in different
|
||||
This also means that you cannot include different versions of the same
|
||||
gem in different groups, because doing so would result in different
|
||||
sets of dependencies used in development and production. Because of the
|
||||
vagaries of the dependency resolution process, this usually affects
|
||||
more than the gems you list in your Gemfile(5), and can (surprisingly)
|
||||
vagaries of the dependency resolution process, this usually affects
|
||||
more than the gems you list in your Gemfile(5), and can (surprisingly)
|
||||
radically change the gems you are using.
|
||||
|
||||
THE GEMFILE.LOCK
|
||||
When you run bundle install, Bundler will persist the full names and
|
||||
versions of all gems that you used (including dependencies of the gems
|
||||
When you run bundle install, Bundler will persist the full names and
|
||||
versions of all gems that you used (including dependencies of the gems
|
||||
specified in the Gemfile(5)) into a file called Gemfile.lock.
|
||||
|
||||
Bundler uses this file in all subsequent calls to bundle install, which
|
||||
guarantees that you always use the same exact code, even as your appli-
|
||||
cation moves across machines.
|
||||
|
||||
Because of the way dependency resolution works, even a seemingly small
|
||||
Because of the way dependency resolution works, even a seemingly small
|
||||
change (for instance, an update to a point-release of a dependency of a
|
||||
gem in your Gemfile(5)) can result in radically different gems being
|
||||
gem in your Gemfile(5)) can result in radically different gems being
|
||||
needed to satisfy all dependencies.
|
||||
|
||||
As a result, you SHOULD check your Gemfile.lock into version control,
|
||||
As a result, you SHOULD check your Gemfile.lock into version control,
|
||||
in both applications and gems. If you do not, every machine that checks
|
||||
out your repository (including your production server) will resolve all
|
||||
dependencies again, which will result in different versions of
|
||||
dependencies again, which will result in different versions of
|
||||
third-party code being used if any of the gems in the Gemfile(5) or any
|
||||
of their dependencies have been updated.
|
||||
|
||||
When Bundler first shipped, the Gemfile.lock was included in the .git-
|
||||
When Bundler first shipped, the Gemfile.lock was included in the .git-
|
||||
ignore file included with generated gems. Over time, however, it became
|
||||
clear that this practice forces the pain of broken dependencies onto
|
||||
clear that this practice forces the pain of broken dependencies onto
|
||||
new contributors, while leaving existing contributors potentially
|
||||
unaware of the problem. Since bundle install is usually the first step
|
||||
towards a contribution, the pain of broken dependencies would discour-
|
||||
age new contributors from contributing. As a result, we have revised
|
||||
our guidance for gem authors to now recommend checking in the lock for
|
||||
unaware of the problem. Since bundle install is usually the first step
|
||||
towards a contribution, the pain of broken dependencies would discour-
|
||||
age new contributors from contributing. As a result, we have revised
|
||||
our guidance for gem authors to now recommend checking in the lock for
|
||||
gems.
|
||||
|
||||
CONSERVATIVE UPDATING
|
||||
When you make a change to the Gemfile(5) and then run bundle install,
|
||||
When you make a change to the Gemfile(5) and then run bundle install,
|
||||
Bundler will update only the gems that you modified.
|
||||
|
||||
In other words, if a gem that you did not modify worked before you
|
||||
called bundle install, it will continue to use the exact same versions
|
||||
In other words, if a gem that you did not modify worked before you
|
||||
called bundle install, it will continue to use the exact same versions
|
||||
of all dependencies as it used before the update.
|
||||
|
||||
Let's take a look at an example. Here's your original Gemfile(5):
|
||||
|
@ -331,13 +331,13 @@ CONSERVATIVE UPDATING
|
|||
|
||||
|
||||
|
||||
In this case, both actionpack and activemerchant depend on activesup-
|
||||
port. The actionpack gem depends on activesupport 2.3.8 and rack ~>
|
||||
1.1.0, while the activemerchant gem depends on activesupport >= 2.3.2,
|
||||
In this case, both actionpack and activemerchant depend on activesup-
|
||||
port. The actionpack gem depends on activesupport 2.3.8 and rack ~>
|
||||
1.1.0, while the activemerchant gem depends on activesupport >= 2.3.2,
|
||||
braintree >= 2.0.0, and builder >= 2.0.0.
|
||||
|
||||
When the dependencies are first resolved, Bundler will select
|
||||
activesupport 2.3.8, which satisfies the requirements of both gems in
|
||||
When the dependencies are first resolved, Bundler will select
|
||||
activesupport 2.3.8, which satisfies the requirements of both gems in
|
||||
your Gemfile(5).
|
||||
|
||||
Next, you modify your Gemfile(5) to:
|
||||
|
@ -351,44 +351,44 @@ CONSERVATIVE UPDATING
|
|||
|
||||
|
||||
|
||||
The actionpack 3.0.0.rc gem has a number of new dependencies, and
|
||||
updates the activesupport dependency to = 3.0.0.rc and the rack depen-
|
||||
The actionpack 3.0.0.rc gem has a number of new dependencies, and
|
||||
updates the activesupport dependency to = 3.0.0.rc and the rack depen-
|
||||
dency to ~> 1.2.1.
|
||||
|
||||
When you run bundle install, Bundler notices that you changed the
|
||||
actionpack gem, but not the activemerchant gem. It evaluates the gems
|
||||
When you run bundle install, Bundler notices that you changed the
|
||||
actionpack gem, but not the activemerchant gem. It evaluates the gems
|
||||
currently being used to satisfy its requirements:
|
||||
|
||||
activesupport 2.3.8
|
||||
also used to satisfy a dependency in activemerchant, which is
|
||||
also used to satisfy a dependency in activemerchant, which is
|
||||
not being updated
|
||||
|
||||
rack ~> 1.1.0
|
||||
not currently being used to satisfy another dependency
|
||||
|
||||
Because you did not explicitly ask to update activemerchant, you would
|
||||
not expect it to suddenly stop working after updating actionpack. How-
|
||||
ever, satisfying the new activesupport 3.0.0.rc dependency of action-
|
||||
Because you did not explicitly ask to update activemerchant, you would
|
||||
not expect it to suddenly stop working after updating actionpack. How-
|
||||
ever, satisfying the new activesupport 3.0.0.rc dependency of action-
|
||||
pack requires updating one of its dependencies.
|
||||
|
||||
Even though activemerchant declares a very loose dependency that theo-
|
||||
retically matches activesupport 3.0.0.rc, Bundler treats gems in your
|
||||
Gemfile(5) that have not changed as an atomic unit together with their
|
||||
Even though activemerchant declares a very loose dependency that theo-
|
||||
retically matches activesupport 3.0.0.rc, Bundler treats gems in your
|
||||
Gemfile(5) that have not changed as an atomic unit together with their
|
||||
dependencies. In this case, the activemerchant dependency is treated as
|
||||
activemerchant 1.7.1 + activesupport 2.3.8, so bundle install will
|
||||
activemerchant 1.7.1 + activesupport 2.3.8, so bundle install will
|
||||
report that it cannot update actionpack.
|
||||
|
||||
To explicitly update actionpack, including its dependencies which other
|
||||
gems in the Gemfile(5) still depend on, run bundle update actionpack
|
||||
gems in the Gemfile(5) still depend on, run bundle update actionpack
|
||||
(see bundle update(1)).
|
||||
|
||||
Summary: In general, after making a change to the Gemfile(5) , you
|
||||
should first try to run bundle install, which will guarantee that no
|
||||
Summary: In general, after making a change to the Gemfile(5) , you
|
||||
should first try to run bundle install, which will guarantee that no
|
||||
other gem in the Gemfile(5) is impacted by the change. If that does not
|
||||
work, run bundle update(1) bundle-update.1.html.
|
||||
|
||||
SEE ALSO
|
||||
o Gem install docs
|
||||
o Gem install docs
|
||||
http://guides.rubygems.org/rubygems-basics/#installing-gems
|
||||
|
||||
o Rubygems signing docs http://guides.rubygems.org/security/
|
||||
|
@ -398,4 +398,4 @@ SEE ALSO
|
|||
|
||||
|
||||
|
||||
April 2019 BUNDLE-INSTALL(1)
|
||||
August 2019 BUNDLE-INSTALL(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-LIST" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-LIST" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-list\fR \- List all the gems in the bundle
|
||||
|
|
|
@ -40,4 +40,4 @@ OPTIONS
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-LIST(1)
|
||||
August 2019 BUNDLE-LIST(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-LOCK" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-LOCK" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-lock\fR \- Creates / Updates a lockfile without installing
|
||||
|
|
|
@ -16,16 +16,16 @@ DESCRIPTION
|
|||
OPTIONS
|
||||
--update=<*gems>
|
||||
Ignores the existing lockfile. Resolve then updates lockfile.
|
||||
Taking a list of gems or updating all gems if no list is given.
|
||||
Taking a list of gems or updating all gems if no list is given.
|
||||
|
||||
--local
|
||||
Do not attempt to connect to rubygems.org. Instead, Bundler will
|
||||
use the gems already present in Rubygems' cache or in ven-
|
||||
dor/cache. Note that if a appropriate platform-specific gem
|
||||
use the gems already present in Rubygems' cache or in ven-
|
||||
dor/cache. Note that if a appropriate platform-specific gem
|
||||
exists on rubygems.org it will not be found.
|
||||
|
||||
--print
|
||||
Prints the lockfile to STDOUT instead of writing to the file
|
||||
Prints the lockfile to STDOUT instead of writing to the file
|
||||
system.
|
||||
|
||||
--lockfile=<path>
|
||||
|
@ -35,7 +35,7 @@ OPTIONS
|
|||
Fall back to using the single-file index of all gems.
|
||||
|
||||
--add-platform
|
||||
Add a new platform to the lockfile, re-resolving for the addi-
|
||||
Add a new platform to the lockfile, re-resolving for the addi-
|
||||
tion of that platform.
|
||||
|
||||
--remove-platform
|
||||
|
@ -51,7 +51,7 @@ OPTIONS
|
|||
If updating, prefer updating to next major version (default).
|
||||
|
||||
--strict
|
||||
If updating, do not allow any gem to be updated past latest
|
||||
If updating, do not allow any gem to be updated past latest
|
||||
--patch | --minor | --major.
|
||||
|
||||
--conservative
|
||||
|
@ -59,28 +59,28 @@ OPTIONS
|
|||
do not allow shared dependencies to be updated.
|
||||
|
||||
UPDATING ALL GEMS
|
||||
If you run bundle lock with --update option without list of gems,
|
||||
bundler will ignore any previously installed gems and resolve all
|
||||
dependencies again based on the latest versions of all gems available
|
||||
If you run bundle lock with --update option without list of gems,
|
||||
bundler will ignore any previously installed gems and resolve all
|
||||
dependencies again based on the latest versions of all gems available
|
||||
in the sources.
|
||||
|
||||
UPDATING A LIST OF GEMS
|
||||
Sometimes, you want to update a single gem in the Gemfile(5), and leave
|
||||
the rest of the gems that you specified locked to the versions in the
|
||||
the rest of the gems that you specified locked to the versions in the
|
||||
Gemfile.lock.
|
||||
|
||||
For instance, you only want to update nokogiri, run bundle lock
|
||||
For instance, you only want to update nokogiri, run bundle lock
|
||||
--update nokogiri.
|
||||
|
||||
Bundler will update nokogiri and any of its dependencies, but leave the
|
||||
rest of the gems that you specified locked to the versions in the Gem-
|
||||
rest of the gems that you specified locked to the versions in the Gem-
|
||||
file.lock.
|
||||
|
||||
SUPPORTING OTHER PLATFORMS
|
||||
If you want your bundle to support platforms other than the one you're
|
||||
If you want your bundle to support platforms other than the one you're
|
||||
running locally, you can run bundle lock --add-platform PLATFORM to add
|
||||
PLATFORM to the lockfile, force bundler to re-resolve and consider the
|
||||
new platform when picking gems, all without needing to have a machine
|
||||
PLATFORM to the lockfile, force bundler to re-resolve and consider the
|
||||
new platform when picking gems, all without needing to have a machine
|
||||
that matches PLATFORM handy to install those platform-specific gems on.
|
||||
|
||||
For a full explanation of gem platforms, see gem help platform.
|
||||
|
@ -90,4 +90,4 @@ PATCH LEVEL OPTIONS
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-LOCK(1)
|
||||
August 2019 BUNDLE-LOCK(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-OPEN" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-OPEN" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-open\fR \- Opens the source directory for a gem in your bundle
|
||||
|
|
|
@ -26,4 +26,4 @@ DESCRIPTION
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-OPEN(1)
|
||||
August 2019 BUNDLE-OPEN(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-OUTDATED" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-OUTDATED" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-outdated\fR \- List installed gems with newer versions available
|
||||
|
|
|
@ -128,4 +128,4 @@ FILTERING OUTPUT
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-OUTDATED(1)
|
||||
August 2019 BUNDLE-OUTDATED(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-PACKAGE" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-PACKAGE" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-package\fR \- Package your needed \fB\.gem\fR files into your application
|
||||
|
|
|
@ -76,4 +76,4 @@ REMOTE FETCHING
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-PACKAGE(1)
|
||||
August 2019 BUNDLE-PACKAGE(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-PLATFORM" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-PLATFORM" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-platform\fR \- Displays platform compatibility information
|
||||
|
|
|
@ -54,4 +54,4 @@ OPTIONS
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-PLATFORM(1)
|
||||
August 2019 BUNDLE-PLATFORM(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-PRISTINE" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-PRISTINE" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-pristine\fR \- Restores installed gems to their pristine condition
|
||||
|
|
|
@ -41,4 +41,4 @@ DESCRIPTION
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-PRISTINE(1)
|
||||
August 2019 BUNDLE-PRISTINE(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-REMOVE" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-REMOVE" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-remove\fR \- Removes gems from the Gemfile
|
||||
|
|
|
@ -31,4 +31,4 @@ OPTIONS
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-REMOVE(1)
|
||||
August 2019 BUNDLE-REMOVE(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-SHOW" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-SHOW" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-show\fR \- Shows all the gems in your bundle, or the path to a gem
|
||||
|
|
|
@ -24,4 +24,4 @@ OPTIONS
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-SHOW(1)
|
||||
August 2019 BUNDLE-SHOW(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-UPDATE" "1" "April 2019" "" ""
|
||||
.TH "BUNDLE\-UPDATE" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-update\fR \- Update your gems to the latest available versions
|
||||
|
|
|
@ -16,29 +16,29 @@ DESCRIPTION
|
|||
eral, you should use bundle install(1) bundle-install.1.html to install
|
||||
the same exact gems and versions across machines.
|
||||
|
||||
You would use bundle update to explicitly update the version of a gem.
|
||||
You would use bundle update to explicitly update the version of a gem.
|
||||
|
||||
OPTIONS
|
||||
--all Update all gems specified in Gemfile.
|
||||
|
||||
--group=<name>, -g=[<name>]
|
||||
Only update the gems in the specified group. For instance, you
|
||||
can update all gems in the development group with bundle update
|
||||
--group development. You can also call bundle update rails
|
||||
--group test to update the rails gem and all gems in the test
|
||||
Only update the gems in the specified group. For instance, you
|
||||
can update all gems in the development group with bundle update
|
||||
--group development. You can also call bundle update rails
|
||||
--group test to update the rails gem and all gems in the test
|
||||
group, for example.
|
||||
|
||||
--source=<name>
|
||||
The name of a :git or :path source used in the Gemfile(5). For
|
||||
instance, with a :git source of
|
||||
http://github.com/rails/rails.git, you would call bundle update
|
||||
The name of a :git or :path source used in the Gemfile(5). For
|
||||
instance, with a :git source of
|
||||
http://github.com/rails/rails.git, you would call bundle update
|
||||
--source rails
|
||||
|
||||
--local
|
||||
Do not attempt to fetch gems remotely and use the gem cache
|
||||
Do not attempt to fetch gems remotely and use the gem cache
|
||||
instead.
|
||||
|
||||
--ruby Update the locked version of Ruby to the current version of
|
||||
--ruby Update the locked version of Ruby to the current version of
|
||||
Ruby.
|
||||
|
||||
--bundler
|
||||
|
@ -328,22 +328,22 @@ PATCH LEVEL EXAMPLES
|
|||
the dependency from foo 1.4.5 required it.
|
||||
|
||||
In case 2, only foo is requested to be unlocked, but bar is also
|
||||
allowed to move because it's not a declared dependency in the Gemfile.
|
||||
allowed to move because it's not a declared dependency in the Gemfile.
|
||||
|
||||
In case 3, bar goes up a whole major release, because a minor increase
|
||||
is preferred now for foo, and when it goes to 1.5.1, it requires 3.0.0
|
||||
In case 3, bar goes up a whole major release, because a minor increase
|
||||
is preferred now for foo, and when it goes to 1.5.1, it requires 3.0.0
|
||||
of bar.
|
||||
|
||||
In case 4, foo is preferred up to a minor version, but 1.5.1 won't work
|
||||
because the --strict flag removes bar 3.0.0 from consideration since
|
||||
because the --strict flag removes bar 3.0.0 from consideration since
|
||||
it's a major increment.
|
||||
|
||||
In case 5, both foo and bar have any minor or major increments removed
|
||||
from consideration because of the --strict flag, so the most they can
|
||||
In case 5, both foo and bar have any minor or major increments removed
|
||||
from consideration because of the --strict flag, so the most they can
|
||||
move is up to 1.4.4 and 2.0.4.
|
||||
|
||||
RECOMMENDED WORKFLOW
|
||||
In general, when working with an application managed with bundler, you
|
||||
In general, when working with an application managed with bundler, you
|
||||
should use the following workflow:
|
||||
|
||||
o After you create your Gemfile(5) for the first time, run
|
||||
|
@ -354,7 +354,7 @@ RECOMMENDED WORKFLOW
|
|||
|
||||
$ git add Gemfile.lock
|
||||
|
||||
o When checking out this repository on another development machine,
|
||||
o When checking out this repository on another development machine,
|
||||
run
|
||||
|
||||
$ bundle install
|
||||
|
@ -363,7 +363,7 @@ RECOMMENDED WORKFLOW
|
|||
|
||||
$ bundle install --deployment
|
||||
|
||||
o After changing the Gemfile(5) to reflect a new or update depen-
|
||||
o After changing the Gemfile(5) to reflect a new or update depen-
|
||||
dency, run
|
||||
|
||||
$ bundle install
|
||||
|
@ -377,7 +377,7 @@ RECOMMENDED WORKFLOW
|
|||
|
||||
$ bundle update rails thin
|
||||
|
||||
o If you want to update all the gems to the latest possible versions
|
||||
o If you want to update all the gems to the latest possible versions
|
||||
that still match the gems listed in the Gemfile(5), run
|
||||
|
||||
$ bundle update --all
|
||||
|
@ -387,4 +387,4 @@ RECOMMENDED WORKFLOW
|
|||
|
||||
|
||||
|
||||
April 2019 BUNDLE-UPDATE(1)
|
||||
August 2019 BUNDLE-UPDATE(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE\-VIZ" "1" "March 2019" "" ""
|
||||
.TH "BUNDLE\-VIZ" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\-viz\fR \- Generates a visual dependency graph for your Gemfile
|
||||
|
|
|
@ -36,4 +36,4 @@ OPTIONS
|
|||
|
||||
|
||||
|
||||
March 2019 BUNDLE-VIZ(1)
|
||||
August 2019 BUNDLE-VIZ(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "BUNDLE" "1" "May 2019" "" ""
|
||||
.TH "BUNDLE" "1" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBbundle\fR \- Ruby Dependency Management
|
||||
|
|
|
@ -36,7 +36,7 @@ PRIMARY COMMANDS
|
|||
Update dependencies to their latest versions
|
||||
|
||||
bundle package(1) bundle-package.1.html
|
||||
Package the .gem files required by your application into the
|
||||
Package the .gem files required by your application into the
|
||||
vendor/cache directory
|
||||
|
||||
bundle exec(1) bundle-exec.1.html
|
||||
|
@ -56,7 +56,7 @@ UTILITIES
|
|||
Generate binstubs for executables in a gem
|
||||
|
||||
bundle check(1) bundle-check.1.html
|
||||
Determine whether the requirements for your application are
|
||||
Determine whether the requirements for your application are
|
||||
installed and available to Bundler
|
||||
|
||||
bundle show(1) bundle-show.1.html
|
||||
|
@ -96,9 +96,9 @@ UTILITIES
|
|||
Removes gems from the Gemfile
|
||||
|
||||
PLUGINS
|
||||
When running a command that isn't listed in PRIMARY COMMANDS or UTILI-
|
||||
TIES, Bundler will try to find an executable on your path named
|
||||
bundler-<command> and execute it, passing down any extra arguments to
|
||||
When running a command that isn't listed in PRIMARY COMMANDS or UTILI-
|
||||
TIES, Bundler will try to find an executable on your path named
|
||||
bundler-<command> and execute it, passing down any extra arguments to
|
||||
it.
|
||||
|
||||
OBSOLETE
|
||||
|
@ -113,4 +113,4 @@ OBSOLETE
|
|||
|
||||
|
||||
|
||||
May 2019 BUNDLE(1)
|
||||
August 2019 BUNDLE(1)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.\" generated with Ronn/v0.7.3
|
||||
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
||||
.
|
||||
.TH "GEMFILE" "5" "April 2019" "" ""
|
||||
.TH "GEMFILE" "5" "August 2019" "" ""
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBGemfile\fR \- A format for describing gem dependencies for Ruby programs
|
||||
|
@ -409,19 +409,16 @@ Git repositories support a number of additional options\.
|
|||
.
|
||||
.TP
|
||||
\fBbranch\fR, \fBtag\fR, and \fBref\fR
|
||||
You \fBMUST\fR only specify at most one of these options\. The default is \fB:branch => "master"\fR
|
||||
.
|
||||
.TP
|
||||
For example:
|
||||
You \fBMUST\fR only specify at most one of these options\. The default is \fB:branch => "master"\fR\. For example:
|
||||
.
|
||||
.IP
|
||||
git "https://github\.com/rails/rails\.git", :branch => "5\-0\-stable" do
|
||||
gem "rails", :git => "https://github\.com/rails/rails\.git", :branch => "5\-0\-stable"
|
||||
.
|
||||
.IP
|
||||
git "https://github\.com/rails/rails\.git", :tag => "v5\.0\.0" do
|
||||
gem "rails", :git => "https://github\.com/rails/rails\.git", :tag => "v5\.0\.0"
|
||||
.
|
||||
.IP
|
||||
git "https://github\.com/rails/rails\.git", :ref => "4aded" do
|
||||
gem "rails", :git => "https://github\.com/rails/rails\.git", :ref => "4aded"
|
||||
.
|
||||
.TP
|
||||
\fBsubmodules\fR
|
||||
|
|
|
@ -99,13 +99,13 @@ RUBY
|
|||
exist. Some of the more well-known implementations include Rubinius
|
||||
https://rubinius.com/, and JRuby http://jruby.org/. Rubinius is an
|
||||
alternative implementation of Ruby written in Ruby. JRuby is an
|
||||
implementation of Ruby on the JVM, short for Java Virtual Machine.
|
||||
implementation of Ruby on the JVM, short for Java Virtual Machine.
|
||||
|
||||
|
||||
|
||||
ENGINE VERSION
|
||||
Each application may specify a Ruby engine version. If an engine ver-
|
||||
sion is specified, an engine must also be specified. If the engine is
|
||||
Each application may specify a Ruby engine version. If an engine ver-
|
||||
sion is specified, an engine must also be specified. If the engine is
|
||||
"ruby" the engine version specified must match the Ruby version.
|
||||
|
||||
|
||||
|
@ -147,9 +147,9 @@ GEMS
|
|||
|
||||
|
||||
REQUIRE AS
|
||||
Each gem MAY specify files that should be used when autorequiring via
|
||||
Bundler.require. You may pass an array with multiple files or true if
|
||||
file you want required has same name as gem or false to prevent any
|
||||
Each gem MAY specify files that should be used when autorequiring via
|
||||
Bundler.require. You may pass an array with multiple files or true if
|
||||
file you want required has same name as gem or false to prevent any
|
||||
file from being autorequired.
|
||||
|
||||
|
||||
|
@ -160,7 +160,7 @@ GEMS
|
|||
|
||||
|
||||
|
||||
The argument defaults to the name of the gem. For example, these are
|
||||
The argument defaults to the name of the gem. For example, these are
|
||||
identical:
|
||||
|
||||
|
||||
|
@ -172,8 +172,8 @@ GEMS
|
|||
|
||||
|
||||
GROUPS
|
||||
Each gem MAY specify membership in one or more groups. Any gem that
|
||||
does not specify membership in any group is placed in the default
|
||||
Each gem MAY specify membership in one or more groups. Any gem that
|
||||
does not specify membership in any group is placed in the default
|
||||
group.
|
||||
|
||||
|
||||
|
@ -183,7 +183,7 @@ GEMS
|
|||
|
||||
|
||||
|
||||
The Bundler runtime allows its two main methods, Bundler.setup and
|
||||
The Bundler runtime allows its two main methods, Bundler.setup and
|
||||
Bundler.require, to limit their impact to particular groups.
|
||||
|
||||
|
||||
|
@ -203,9 +203,9 @@ GEMS
|
|||
|
||||
|
||||
|
||||
The Bundler CLI allows you to specify a list of groups whose gems bun-
|
||||
dle install should not install with the --without option. To specify
|
||||
multiple groups to ignore, specify a list of groups separated by spa-
|
||||
The Bundler CLI allows you to specify a list of groups whose gems bun-
|
||||
dle install should not install with the --without option. To specify
|
||||
multiple groups to ignore, specify a list of groups separated by spa-
|
||||
ces.
|
||||
|
||||
|
||||
|
@ -217,23 +217,23 @@ GEMS
|
|||
|
||||
After running bundle install --without test, bundler will remember that
|
||||
you excluded the test group in the last installation. The next time you
|
||||
run bundle install, without any --without option, bundler will recall
|
||||
run bundle install, without any --without option, bundler will recall
|
||||
it.
|
||||
|
||||
Also, calling Bundler.setup with no parameters, or calling require
|
||||
"bundler/setup" will setup all groups except for the ones you excluded
|
||||
Also, calling Bundler.setup with no parameters, or calling require
|
||||
"bundler/setup" will setup all groups except for the ones you excluded
|
||||
via --without (since they are not available).
|
||||
|
||||
Note that on bundle install, bundler downloads and evaluates all gems,
|
||||
in order to create a single canonical list of all of the required gems
|
||||
and their dependencies. This means that you cannot list different ver-
|
||||
sions of the same gems in different groups. For more details, see
|
||||
Note that on bundle install, bundler downloads and evaluates all gems,
|
||||
in order to create a single canonical list of all of the required gems
|
||||
and their dependencies. This means that you cannot list different ver-
|
||||
sions of the same gems in different groups. For more details, see
|
||||
Understanding Bundler https://bundler.io/rationale.html.
|
||||
|
||||
PLATFORMS
|
||||
If a gem should only be used in a particular platform or set of plat-
|
||||
forms, you can specify them. Platforms are essentially identical to
|
||||
groups, except that you do not need to use the --without install-time
|
||||
If a gem should only be used in a particular platform or set of plat-
|
||||
forms, you can specify them. Platforms are essentially identical to
|
||||
groups, except that you do not need to use the --without install-time
|
||||
flag to exclude groups of gems for other platforms.
|
||||
|
||||
There are a number of Gemfile platforms:
|
||||
|
@ -256,7 +256,7 @@ GEMS
|
|||
|
||||
mswin Windows
|
||||
|
||||
You can restrict further by platform and version for all platforms
|
||||
You can restrict further by platform and version for all platforms
|
||||
except for rbx, jruby, truffleruby and mswin.
|
||||
|
||||
To specify a version in addition to a platform, append the version num-
|
||||
|
@ -290,12 +290,12 @@ GEMS
|
|||
|
||||
|
||||
|
||||
All operations involving groups (bundle install bundle-install.1.html,
|
||||
Bundler.setup, Bundler.require) behave exactly the same as if any
|
||||
All operations involving groups (bundle install bundle-install.1.html,
|
||||
Bundler.setup, Bundler.require) behave exactly the same as if any
|
||||
groups not matching the current platform were explicitly excluded.
|
||||
|
||||
SOURCE
|
||||
You can select an alternate Rubygems repository for a gem using the
|
||||
You can select an alternate Rubygems repository for a gem using the
|
||||
':source' option.
|
||||
|
||||
|
||||
|
@ -304,22 +304,22 @@ GEMS
|
|||
|
||||
|
||||
|
||||
This forces the gem to be loaded from this source and ignores any
|
||||
global sources declared at the top level of the file. If the gem does
|
||||
This forces the gem to be loaded from this source and ignores any
|
||||
global sources declared at the top level of the file. If the gem does
|
||||
not exist in this source, it will not be installed.
|
||||
|
||||
Bundler will search for child dependencies of this gem by first looking
|
||||
in the source selected for the parent, but if they are not found there,
|
||||
it will fall back on global sources using the ordering described in
|
||||
it will fall back on global sources using the ordering described in
|
||||
SOURCE PRIORITY.
|
||||
|
||||
Selecting a specific source repository this way also suppresses the
|
||||
Selecting a specific source repository this way also suppresses the
|
||||
ambiguous gem warning described above in GLOBAL SOURCES (#source).
|
||||
|
||||
Using the :source option for an individual gem will also make that
|
||||
source available as a possible global source for any other gems which
|
||||
do not specify explicit sources. Thus, when adding gems with explicit
|
||||
sources, it is recommended that you also ensure all other gems in the
|
||||
Using the :source option for an individual gem will also make that
|
||||
source available as a possible global source for any other gems which
|
||||
do not specify explicit sources. Thus, when adding gems with explicit
|
||||
sources, it is recommended that you also ensure all other gems in the
|
||||
Gemfile are using explicit sources.
|
||||
|
||||
GIT
|
||||
|
@ -337,27 +337,27 @@ GEMS
|
|||
If using SSH, the user that you use to run bundle install MUST have the
|
||||
appropriate keys available in their $HOME/.ssh.
|
||||
|
||||
NOTE: http:// and git:// URLs should be avoided if at all possible.
|
||||
These protocols are unauthenticated, so a man-in-the-middle attacker
|
||||
can deliver malicious code and compromise your system. HTTPS and SSH
|
||||
NOTE: http:// and git:// URLs should be avoided if at all possible.
|
||||
These protocols are unauthenticated, so a man-in-the-middle attacker
|
||||
can deliver malicious code and compromise your system. HTTPS and SSH
|
||||
are strongly preferred.
|
||||
|
||||
The group, platforms, and require options are available and behave
|
||||
The group, platforms, and require options are available and behave
|
||||
exactly the same as they would for a normal gem.
|
||||
|
||||
A git repository SHOULD have at least one file, at the root of the
|
||||
directory containing the gem, with the extension .gemspec. This file
|
||||
MUST contain a valid gem specification, as expected by the gem build
|
||||
A git repository SHOULD have at least one file, at the root of the
|
||||
directory containing the gem, with the extension .gemspec. This file
|
||||
MUST contain a valid gem specification, as expected by the gem build
|
||||
command.
|
||||
|
||||
If a git repository does not have a .gemspec, bundler will attempt to
|
||||
If a git repository does not have a .gemspec, bundler will attempt to
|
||||
create one, but it will not contain any dependencies, executables, or C
|
||||
extension compilation instructions. As a result, it may fail to prop-
|
||||
extension compilation instructions. As a result, it may fail to prop-
|
||||
erly integrate into your application.
|
||||
|
||||
If a git repository does have a .gemspec for the gem you attached it
|
||||
to, a version specifier, if provided, means that the git repository is
|
||||
only valid if the .gemspec specifies a version matching the version
|
||||
If a git repository does have a .gemspec for the gem you attached it
|
||||
to, a version specifier, if provided, means that the git repository is
|
||||
only valid if the .gemspec specifies a version matching the version
|
||||
specifier. If not, bundler will print a warning.
|
||||
|
||||
|
||||
|
@ -368,34 +368,34 @@ GEMS
|
|||
|
||||
|
||||
|
||||
If a git repository does not have a .gemspec for the gem you attached
|
||||
If a git repository does not have a .gemspec for the gem you attached
|
||||
it to, a version specifier MUST be provided. Bundler will use this ver-
|
||||
sion in the simple .gemspec it creates.
|
||||
|
||||
Git repositories support a number of additional options.
|
||||
|
||||
branch, tag, and ref
|
||||
You MUST only specify at most one of these options. The default
|
||||
is :branch => "master"
|
||||
You MUST only specify at most one of these options. The default
|
||||
is :branch => "master". For example:
|
||||
|
||||
For example:
|
||||
gem "rails", :git => "https://github.com/rails/rails.git",
|
||||
:branch => "5-0-stable"
|
||||
|
||||
git "https://github.com/rails/rails.git", :branch => "5-0-sta-
|
||||
ble" do
|
||||
gem "rails", :git => "https://github.com/rails/rails.git", :tag
|
||||
=> "v5.0.0"
|
||||
|
||||
git "https://github.com/rails/rails.git", :tag => "v5.0.0" do
|
||||
|
||||
git "https://github.com/rails/rails.git", :ref => "4aded" do
|
||||
gem "rails", :git => "https://github.com/rails/rails.git", :ref
|
||||
=> "4aded"
|
||||
|
||||
submodules
|
||||
For reference, a git submodule
|
||||
For reference, a git submodule
|
||||
https://git-scm.com/book/en/v2/Git-Tools-Submodules lets you
|
||||
have another git repository within a subfolder of your reposi-
|
||||
have another git repository within a subfolder of your reposi-
|
||||
tory. Specify :submodules => true to cause bundler to expand any
|
||||
submodules included in the git repository
|
||||
|
||||
If a git repository contains multiple .gemspecs, each .gemspec repre-
|
||||
sents a gem located at the same place in the file system as the .gem-
|
||||
If a git repository contains multiple .gemspecs, each .gemspec repre-
|
||||
sents a gem located at the same place in the file system as the .gem-
|
||||
spec.
|
||||
|
||||
|
||||
|
@ -410,16 +410,16 @@ GEMS
|
|||
|
||||
|
||||
|
||||
To install a gem located in a git repository, bundler changes to the
|
||||
directory containing the gemspec, runs gem build name.gemspec and then
|
||||
To install a gem located in a git repository, bundler changes to the
|
||||
directory containing the gemspec, runs gem build name.gemspec and then
|
||||
installs the resulting gem. The gem build command, which comes standard
|
||||
with Rubygems, evaluates the .gemspec in the context of the directory
|
||||
with Rubygems, evaluates the .gemspec in the context of the directory
|
||||
in which it is located.
|
||||
|
||||
GIT SOURCE
|
||||
A custom git source can be defined via the git_source method. Provide
|
||||
the source's name as an argument, and a block which receives a single
|
||||
argument and interpolates it into a string to return the full repo
|
||||
A custom git source can be defined via the git_source method. Provide
|
||||
the source's name as an argument, and a block which receives a single
|
||||
argument and interpolates it into a string to return the full repo
|
||||
address:
|
||||
|
||||
|
||||
|
@ -442,10 +442,10 @@ GEMS
|
|||
rently expands to an insecure git:// URL. This allows a man-in-the-mid-
|
||||
dle attacker to compromise your system.
|
||||
|
||||
If the git repository you want to use is hosted on GitHub and is pub-
|
||||
lic, you can use the :github shorthand to specify the github username
|
||||
and repository name (without the trailing ".git"), separated by a
|
||||
slash. If both the username and repository name are the same, you can
|
||||
If the git repository you want to use is hosted on GitHub and is pub-
|
||||
lic, you can use the :github shorthand to specify the github username
|
||||
and repository name (without the trailing ".git"), separated by a
|
||||
slash. If both the username and repository name are the same, you can
|
||||
omit one.
|
||||
|
||||
|
||||
|
@ -468,7 +468,7 @@ GEMS
|
|||
|
||||
GIST
|
||||
If the git repository you want to use is hosted as a Github Gist and is
|
||||
public, you can use the :gist shorthand to specify the gist identifier
|
||||
public, you can use the :gist shorthand to specify the gist identifier
|
||||
(without the trailing ".git").
|
||||
|
||||
|
||||
|
@ -485,14 +485,14 @@ GEMS
|
|||
|
||||
|
||||
|
||||
Since the gist method is a specialization of git_source, it accepts a
|
||||
Since the gist method is a specialization of git_source, it accepts a
|
||||
:branch named argument.
|
||||
|
||||
BITBUCKET
|
||||
If the git repository you want to use is hosted on Bitbucket and is
|
||||
public, you can use the :bitbucket shorthand to specify the bitbucket
|
||||
username and repository name (without the trailing ".git"), separated
|
||||
by a slash. If both the username and repository name are the same, you
|
||||
If the git repository you want to use is hosted on Bitbucket and is
|
||||
public, you can use the :bitbucket shorthand to specify the bitbucket
|
||||
username and repository name (without the trailing ".git"), separated
|
||||
by a slash. If both the username and repository name are the same, you
|
||||
can omit one.
|
||||
|
||||
|
||||
|
@ -510,19 +510,19 @@ GEMS
|
|||
|
||||
|
||||
|
||||
Since the bitbucket method is a specialization of git_source, it
|
||||
Since the bitbucket method is a specialization of git_source, it
|
||||
accepts a :branch named argument.
|
||||
|
||||
PATH
|
||||
You can specify that a gem is located in a particular location on the
|
||||
You can specify that a gem is located in a particular location on the
|
||||
file system. Relative paths are resolved relative to the directory con-
|
||||
taining the Gemfile.
|
||||
|
||||
Similar to the semantics of the :git option, the :path option requires
|
||||
that the directory in question either contains a .gemspec for the gem,
|
||||
Similar to the semantics of the :git option, the :path option requires
|
||||
that the directory in question either contains a .gemspec for the gem,
|
||||
or that you specify an explicit version that bundler should use.
|
||||
|
||||
Unlike :git, bundler does not compile C extensions for gems specified
|
||||
Unlike :git, bundler does not compile C extensions for gems specified
|
||||
as paths.
|
||||
|
||||
|
||||
|
@ -532,8 +532,8 @@ GEMS
|
|||
|
||||
|
||||
If you would like to use multiple local gems directly from the filesys-
|
||||
tem, you can set a global path option to the path containing the gem's
|
||||
files. This will automatically load gemspec files from subdirectories.
|
||||
tem, you can set a global path option to the path containing the gem's
|
||||
files. This will automatically load gemspec files from subdirectories.
|
||||
|
||||
|
||||
|
||||
|
@ -601,48 +601,48 @@ INSTALL_IF
|
|||
|
||||
|
||||
GEMSPEC
|
||||
The .gemspec http://guides.rubygems.org/specification-reference/ file
|
||||
The .gemspec http://guides.rubygems.org/specification-reference/ file
|
||||
is where you provide metadata about your gem to Rubygems. Some required
|
||||
Gemspec attributes include the name, description, and homepage of your
|
||||
gem. This is also where you specify the dependencies your gem needs to
|
||||
Gemspec attributes include the name, description, and homepage of your
|
||||
gem. This is also where you specify the dependencies your gem needs to
|
||||
run.
|
||||
|
||||
If you wish to use Bundler to help install dependencies for a gem while
|
||||
it is being developed, use the gemspec method to pull in the dependen-
|
||||
it is being developed, use the gemspec method to pull in the dependen-
|
||||
cies listed in the .gemspec file.
|
||||
|
||||
The gemspec method adds any runtime dependencies as gem requirements in
|
||||
the default group. It also adds development dependencies as gem
|
||||
requirements in the development group. Finally, it adds a gem require-
|
||||
the default group. It also adds development dependencies as gem
|
||||
requirements in the development group. Finally, it adds a gem require-
|
||||
ment on your project (:path => '.'). In conjunction with Bundler.setup,
|
||||
this allows you to require project files in your test code as you would
|
||||
if the project were installed as a gem; you need not manipulate the
|
||||
if the project were installed as a gem; you need not manipulate the
|
||||
load path manually or require project files via relative paths.
|
||||
|
||||
The gemspec method supports optional :path, :glob, :name, and :develop-
|
||||
ment_group options, which control where bundler looks for the .gemspec,
|
||||
the glob it uses to look for the gemspec (defaults to: "{,,/*}.gem-
|
||||
spec"), what named .gemspec it uses (if more than one is present), and
|
||||
the glob it uses to look for the gemspec (defaults to: "{,,/*}.gem-
|
||||
spec"), what named .gemspec it uses (if more than one is present), and
|
||||
which group development dependencies are included in.
|
||||
|
||||
When a gemspec dependency encounters version conflicts during resolu-
|
||||
tion, the local version under development will always be selected --
|
||||
even if there are remote versions that better match other requirements
|
||||
When a gemspec dependency encounters version conflicts during resolu-
|
||||
tion, the local version under development will always be selected --
|
||||
even if there are remote versions that better match other requirements
|
||||
for the gemspec gem.
|
||||
|
||||
SOURCE PRIORITY
|
||||
When attempting to locate a gem to satisfy a gem requirement, bundler
|
||||
When attempting to locate a gem to satisfy a gem requirement, bundler
|
||||
uses the following priority order:
|
||||
|
||||
1. The source explicitly attached to the gem (using :source, :path, or
|
||||
:git)
|
||||
|
||||
2. For implicit gems (dependencies of explicit gems), any source, git,
|
||||
or path repository declared on the parent. This results in bundler
|
||||
prioritizing the ActiveSupport gem from the Rails git repository
|
||||
or path repository declared on the parent. This results in bundler
|
||||
prioritizing the ActiveSupport gem from the Rails git repository
|
||||
over ones from rubygems.org
|
||||
|
||||
3. The sources specified via global source lines, searching each
|
||||
3. The sources specified via global source lines, searching each
|
||||
source in your Gemfile from last added to first added.
|
||||
|
||||
|
||||
|
@ -650,4 +650,4 @@ SOURCE PRIORITY
|
|||
|
||||
|
||||
|
||||
April 2019 GEMFILE(5)
|
||||
August 2019 GEMFILE(5)
|
||||
|
|
25
man/index.txt
Normal file
25
man/index.txt
Normal file
|
@ -0,0 +1,25 @@
|
|||
Gemfile(5) gemfile.5
|
||||
bundle(1) bundle.1
|
||||
bundle-add(1) bundle-add.1
|
||||
bundle-binstubs(1) bundle-binstubs.1
|
||||
bundle-check(1) bundle-check.1
|
||||
bundle-clean(1) bundle-clean.1
|
||||
bundle-config(1) bundle-config.1
|
||||
bundle-doctor(1) bundle-doctor.1
|
||||
bundle-exec(1) bundle-exec.1
|
||||
bundle-gem(1) bundle-gem.1
|
||||
bundle-info(1) bundle-info.1
|
||||
bundle-init(1) bundle-init.1
|
||||
bundle-inject(1) bundle-inject.1
|
||||
bundle-install(1) bundle-install.1
|
||||
bundle-list(1) bundle-list.1
|
||||
bundle-lock(1) bundle-lock.1
|
||||
bundle-open(1) bundle-open.1
|
||||
bundle-outdated(1) bundle-outdated.1
|
||||
bundle-package(1) bundle-package.1
|
||||
bundle-platform(1) bundle-platform.1
|
||||
bundle-pristine(1) bundle-pristine.1
|
||||
bundle-remove(1) bundle-remove.1
|
||||
bundle-show(1) bundle-show.1
|
||||
bundle-update(1) bundle-update.1
|
||||
bundle-viz(1) bundle-viz.1
|
|
@ -105,7 +105,7 @@ RSpec.describe "The library itself" do
|
|||
end
|
||||
|
||||
it "has no malformed whitespace" do
|
||||
exempt = /\.gitmodules|\.marshal|fixtures|vendor|LICENSE|vcr_cassettes|rbreadline\.diff/
|
||||
exempt = /\.gitmodules|\.marshal|fixtures|vendor|LICENSE|vcr_cassettes|rbreadline\.diff|\.txt$/
|
||||
error_messages = []
|
||||
Dir.chdir(root) do
|
||||
files = ruby_core? ? `git ls-files -z -- lib/bundler lib/bundler.rb spec/bundler` : `git ls-files -z`
|
||||
|
@ -132,7 +132,7 @@ RSpec.describe "The library itself" do
|
|||
end
|
||||
|
||||
it "does not include any leftover debugging or development mechanisms" do
|
||||
exempt = %r{quality_spec.rb|support/helpers|vcr_cassettes|\.md|\.ronn}
|
||||
exempt = %r{quality_spec.rb|support/helpers|vcr_cassettes|\.md|\.ronn|\.txt|\.5|\.1}
|
||||
error_messages = []
|
||||
Dir.chdir(root) do
|
||||
files = ruby_core? ? `git ls-files -z -- lib/bundler lib/bundler.rb spec/bundler` : `git ls-files -z`
|
||||
|
@ -253,9 +253,8 @@ RSpec.describe "The library itself" do
|
|||
|
||||
it "ships the correct set of files", :ruby_repo do
|
||||
Dir.chdir(root) do
|
||||
git_list = IO.popen("git ls-files -z", &:read).split("\x0").select {|f| f.match(%r{^(lib|exe)/}) }
|
||||
git_list = IO.popen("git ls-files -z", &:read).split("\x0").select {|f| f.match(%r{^(lib|man|exe)/}) }
|
||||
git_list += %w[CHANGELOG.md LICENSE.md README.md bundler.gemspec]
|
||||
git_list += Dir.glob("man/**/*")
|
||||
|
||||
gem_list = Gem::Specification.load(gemspec.to_s).files
|
||||
|
||||
|
|
|
@ -22,8 +22,6 @@ end
|
|||
|
||||
$debug = false
|
||||
|
||||
Spec::Manpages.setup unless Gem.win_platform?
|
||||
|
||||
module Gem
|
||||
def self.ruby=(ruby)
|
||||
@ruby = ruby
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Spec
|
||||
module Manpages
|
||||
def self.setup
|
||||
man_path = Spec::Path.root.join("man")
|
||||
return if man_path.children(false).select {|file| file.extname == ".ronn" }.all? do |man|
|
||||
Dir[man_path.join("#{man.to_s[0..-6]}*.txt").to_s].any?
|
||||
end
|
||||
|
||||
system(Spec::Path.root.join("bin", "rake").to_s, "man:build") || raise("Failed building man pages")
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue