LinuxCommandLibrary

vagrant-plugin

Manage Vagrant plugins

TLDR

List all the plugins currently installed

$ vagrant plugin list
copy

Install a plugin from remote repositories, usually RubyGems
$ vagrant plugin install [vagrant_vbguest]
copy

Install a plugin from a local file source
$ vagrant plugin install [path/to/my_plugin.gem]
copy

Update all installed plugins to their latest version
$ vagrant plugin update
copy

Update a plugin to the latest version
$ vagrant plugin update [vagrant_vbguest]
copy

Uninstall a specific plugin
$ vagrant plugin uninstall [vagrant_vbguest]
copy

SYNOPSIS

vagrant plugin COMMAND [options]

PARAMETERS

install plugin
    Installs the specified Vagrant plugin. Can optionally specify a version using --plugin-version.

uninstall plugin
    Uninstalls the specified Vagrant plugin.

list
    Lists all installed Vagrant plugins.

update
    Updates installed Vagrant plugins. Can take a plugin name as optional parameter to only update a specific plugin, ex: vagrant plugin update vagrant-aws

expunge
    Deletes all installed plugins. This can be used to remove broken/corrupted plugins to reset the plugin system.

--plugin-version version
    Specifies the version of the plugin to install (used with install).

--local
    Install the plugin from a local file.

--entry-point entry_point
    Override the plugins entry point. Vagrant usually detects this automatically.

DESCRIPTION

The vagrant plugin command is used to manage Vagrant plugins. Vagrant plugins extend the functionality of Vagrant, allowing you to add support for new providers (like AWS or VMware), provisioners (like Chef or Puppet), or other features. This command allows you to install, uninstall, list, and update Vagrant plugins. It's essential for customizing and extending Vagrant's capabilities to fit your specific development environment needs. Using this command effectively is crucial for leveraging the full potential of Vagrant and adapting it to diverse infrastructure and configuration management requirements. This command provides the primary way to interact with the plugin system for adding and maintaining extensions to Vagrant.
Without plugins, Vagrant functionality is very limited to only the core functionalities. It integrates with RubyGems which is the native package manager of Ruby to install, manage and resolve dependencies

CAVEATS

Plugins often have dependencies on specific versions of Vagrant or other plugins. Be sure to check the plugin documentation for compatibility information. Updating plugins may sometimes break existing Vagrant configurations if the plugin API has changed. The vagrant plugin expunge command should be used carefully as it removes all plugins.

TROUBLESHOOTING

If you encounter issues with plugins, ensure that your Vagrant installation is up-to-date. Check the plugin's documentation for troubleshooting steps. Sometimes reinstalling or expunging plugins can resolve conflicts or corrupted installations. Verify the RubyGems version and gem sources as well.

PLUGIN DEVELOPMENT

The command is essential for managing your own plugins, install them locally during development and keep them up to date. Vagrant's plugin system is based on Ruby and RubyGems. Therefore understanding RubyGems is key to developing custom plugins

HISTORY

The vagrant plugin command was introduced with Vagrant's plugin system to provide a standardized way to extend Vagrant's capabilities. It has evolved over time with the addition of new commands and options to handle more complex plugin management scenarios. It uses RubyGems under the hood. It is essential for modern Vagrant usage and enables the community to build custom functionalities.

SEE ALSO

vagrant(1)

Copied to clipboard