如何以编程方式安装 vagrant 插件?

How to programmatically install vagrant plugins?

我有一个依赖于 vagrant 插件的 Vagrant 构建。

我可以记录用户需要安装这些插件,但理想情况下我想自动安装所需的插件。

如何在构建过程中自动安装所需的插件?

我在 Matt Cooper 的 blog post 上找到了答案。这个解决方案对我有用。

博客 post 介绍了将以下行添加到 Vagrantfile 的顶部:

required_plugins = %w( vagrant-omnibus vagrant-aws )
required_plugins.each do |plugin|
    exec "vagrant plugin install #{plugin};vagrant #{ARGV.join(" ")}" unless Vagrant.has_plugin? plugin || ARGV[0] == 'plugin'
end