Update plugin docs. Remove bundler instructions from source install instructions.
This commit is contained in:
parent
dbf603b136
commit
82859ee286
|
@ -16,11 +16,36 @@ This is the command used to manage [plugins](/docs/plugins/).
|
|||
The main functionality of this command is exposed via another level
|
||||
of subcommands:
|
||||
|
||||
* `install`
|
||||
* `license`
|
||||
* `list`
|
||||
* `uninstall`
|
||||
* `update`
|
||||
* [`expunge`](#plugin-expunge)
|
||||
* [`install`](#plugin-install)
|
||||
* [`license`](#plugin-license)
|
||||
* [`list`](#plugin-list)
|
||||
* [`repair`](#plugin-repair)
|
||||
* [`uninstall`](#plugin-uninstall)
|
||||
* [`update`](#plugin-update)
|
||||
|
||||
# Plugin Expunge
|
||||
|
||||
**Command: `vagrant plugin expunge`**
|
||||
|
||||
This removes all user installed plugin information. All plugin gems, their
|
||||
dependencies, and the `plugins.json` file are removed. This command
|
||||
provides a simple mechanism to fully remove all user installed custom plugins.
|
||||
|
||||
When upgrading Vagrant it may be required to reinstall plugins due to
|
||||
an internal incompatibility. The expunge command can help make that process
|
||||
easier by attempting to automatically reinstall currently configured
|
||||
plugins:
|
||||
|
||||
```shell
|
||||
# Delete all plugins and reinstall
|
||||
$ vagrant plugin expunge --reinstall
|
||||
```
|
||||
|
||||
This command accepts optional command-line flags:
|
||||
|
||||
* `--force` - Do not prompt for confirmation prior to removal
|
||||
* `--reinstall` - Attempt to reinstall plugins after removal
|
||||
|
||||
# Plugin Install
|
||||
|
||||
|
@ -86,6 +111,16 @@ If a version constraint was specified for a plugin when installing it, the
|
|||
constraint will be listed as well. Other plugin-specific information may
|
||||
be shown, too.
|
||||
|
||||
# Plugin Repair
|
||||
|
||||
Vagrant may fail to properly initialize user installed custom plugins. This can
|
||||
be caused my improper plugin installation/removal, or by manual manipluation of
|
||||
plugin related files like the `plugins.json` data file. Vagrant can attempt
|
||||
to automatically repair the problem.
|
||||
|
||||
If automatic repair is not successful, refer to the [expunge](#plugin-expunge)
|
||||
command
|
||||
|
||||
# Plugin Uninstall
|
||||
|
||||
**Command: `vagrant plugin uninstall <name> [<name2> <name3> ...]`**
|
||||
|
@ -107,3 +142,10 @@ the plugin using `vagrant plugin install`.
|
|||
If a name is specified, only that single plugin will be updated. If a
|
||||
name is specified of a plugin that is not installed, this command will not
|
||||
install it.
|
||||
|
||||
# Plugin Repair
|
||||
|
||||
**Command: `vagrant plugin update [<name>]`**
|
||||
|
||||
This updates the plugins that are installed within Vagrant. If you specified
|
||||
version constraints when installing the plugin, this command will respect
|
||||
|
|
|
@ -15,23 +15,15 @@ when using the official installer is not an option. This page details the
|
|||
steps and prerequisites for installing Vagrant from source.
|
||||
|
||||
## Install Ruby
|
||||
You must have a modern Ruby (>= 2.0) in order to develop and build Vagrant. The
|
||||
You must have a modern Ruby (>= 2.2) in order to develop and build Vagrant. The
|
||||
specific Ruby version is documented in the Vagrant's `gemspec`. Please refer to
|
||||
the `vagrant.gemspec` in the repository on GitHub, as it will contain the most
|
||||
up-to-date requirement. This guide will not discuss how to install and manage Ruby. However, beware of the following pitfalls:
|
||||
up-to-date requirement. This guide will not discuss how to install and manage Ruby.
|
||||
However, beware of the following pitfalls:
|
||||
|
||||
- Do **NOT** use the system Ruby - use a Ruby version manager like rvm or chruby
|
||||
- Ensure you have the latest version of Rubygems
|
||||
- Ensure you have installed a version of [Bundler](https://bundler.io) that is
|
||||
compatible with Vagrant.
|
||||
|
||||
The bundler constraint is a floating requirement in Vagrant. You will need to inspect the `vagrant.gemspec` to determine the version when you are compiling from source. For example, if the gemspec specifies version 1.2.3, you will need to install a version of Bundler that satisfies that constraint.
|
||||
|
||||
You can install a specific version of bundler with the following command:
|
||||
|
||||
```shell
|
||||
gem install bundler -v '1.2.3'
|
||||
```
|
||||
- Vagrant plugins are configured based on current environment. If plugins are installed
|
||||
using Vagrant from source, they will not work from the package based Vagrant installation.
|
||||
|
||||
## Clone Vagrant
|
||||
Clone Vagrant's repository from GitHub into the directory where you keep code on your machine:
|
||||
|
@ -50,7 +42,7 @@ $ cd /path/to/your/vagrant/clone
|
|||
Run the `bundle` command with a required version* to install the requirements:
|
||||
|
||||
```shell
|
||||
$ bundle _1.10.6_ install
|
||||
$ bundle install
|
||||
```
|
||||
|
||||
You can now run Vagrant by running `bundle exec vagrant` from inside that
|
||||
|
|
|
@ -65,12 +65,6 @@ load any gems listed in the "plugins" group. Note that this also
|
|||
allows you to add multiple plugins to Vagrant for development, if
|
||||
your plugin works with another plugin.
|
||||
|
||||
With this structure in place, your workflow should be like any other
|
||||
Ruby project, with one exception. Because Vagrant uses the internal
|
||||
APIs of Bundler, see [Installing Vagrant from Source](https://github.com/mitchellh/vagrant/wiki/Installing-Vagrant-from-Source)
|
||||
for tips on using the correct version of Bundler to install
|
||||
dependencies.
|
||||
|
||||
When you want to manually test your plugin, use
|
||||
`bundle exec vagrant` in order to run Vagrant with your plugin
|
||||
loaded (as we specified in the Gemfile).
|
||||
|
|
Loading…
Reference in New Issue