所以我的Vagrant文件设置如下:
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "hashicorp/precise64"
config.vm.provision "puppet" do |puppet|
puppet.manifests_path = "manifests"
puppet.manifest_file = "site.pp"
puppet.module_path = "modules"
puppet.options = "--verbose --debug"
end
end
现在当我vagrant ssh
进入我的虚拟机然后运行puppet module install puppetlabs-apache
时,我收到以下错误:
Error: Could not install module 'puppetlabs-apache' (latest)
Directory /home/vagrant/.puppet/modules does not exist
所以我尝试的是:
mkdir -p /home/vagrant/.puppet/modules
接下来是:
puppet module install puppetlabs-apache
它有效!
但模块文件没有出现在我在Vagrantfile中设置的"modules"
目录下的主机上。所以我猜puppet.module_path
无效......?
谢谢:)
答案 0 :(得分:0)
在VM中调用puppet
与Puppet不同,因为它用于从主机进行配置。
Vagrant使用的Puppet资源是Vagrant项目的一部分。如您所见,VM内的Puppet命令使用
~/.puppet
或/etc/puppet
主机和VM之间不共享Puppet配置。