1. ホーム
  2. vagrant

[解決済み] Vagrantfileの中でVagrantプラグインを要求する?

2023-06-23 04:15:08

質問

を実行すると仮定した場合 Vagrantfile を実行するには、特定の Vagrant プラグインをインストールする必要があります。そのため、基本的に必要なことは

$ vagrant plugin install foobar-plugin
$ vagrant up

最初のステップを飛ばすと vagrant up は失敗します。

Vagrantにプラグインを自動でインストールさせるオプションはないのでしょうか?言い換えれば Vagrant の Vagrantfile の中で、マシンを作成し起動する前に自動的にインストールするプラグインを指定することは可能でしょうか?

どのように解決するのですか?

2019年最新版: Vagrantにプラグインを要求する機能が追加されました。 Vagrantfile を経由するようになりました。

Vagrant.configure("2") do |config|
  config.vagrant.plugins = "vagrant-some-plugin"

  # or as array:
  config.vagrant.plugins = ["vagrant-some-plugin", "vagrant-some-other-plugin"]

  # or as hash
  config.vagrant.plugins = {"vagrant-some-plugin" => {"version" => "1.0.0"}}
end

Vagrantがまだインストールされていないプラグインを検出した場合、ユーザー自身がインストールするように促します。

$ vagrant up
Vagrant has detected project local plugins configured for this
project which are not installed.

  vagrant-some-plugin
Install local plugins (Y/N) [N]: y
Installing the 'vagrant-some-plugin' plugin. This can take a few minutes...
Fetching vagrant-some-plugin-1.0.0.gem
Installed the plugin 'vagrant-some-plugin (1.0.0)'!


Vagrant has completed installing local plugins for the current Vagrant
project directory. Please run the requested command again.

参照 https://www.vagrantup.com/docs/vagrantfile/vagrant_settings.html