为什么puppet module安装--force不安装依赖项&;如何解决?
我正在与vagrant&puppet合作安装我的开发环境 我使用shell provisioner安装puppet的模块:为什么puppet module安装--force不安装依赖项&;如何解决?,module,vagrant,puppet,Module,Vagrant,Puppet,我正在与vagrant&puppet合作安装我的开发环境 我使用shell provisioner安装puppet的模块: config.vm.provision :shell do |shell| shell.inline = "puppet module install --force garethr-docker" end 但是当我启动vagrant provision时,我看到puppet没有安装模块依赖项(这个特定模块的stdlib、apt和stahma epel) 另一方面
config.vm.provision :shell do |shell|
shell.inline = "puppet module install --force garethr-docker"
end
但是当我启动vagrant provision
时,我看到puppet没有安装模块依赖项(这个特定模块的stdlib、apt和stahma epel)
另一方面,如果我删除--force
,依赖项将正确安装,但是流浪规定
将只工作一次,因为puppet第二次抛出错误(“模块已安装”)
我如何克服这个问题?
Thx.
PS,我完整的流浪汉档案:
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "phusion/ubuntu-14.04-amd64"
config.vm.provision :shell do |shell|
shell.inline = "puppet module install --force garethr-docker"
end
config.vm.provision "puppet" do |puppet|
puppet.manifests_path = "puppet/manifests"
puppet.manifest_file = "dockervm.pp"
puppet.options="--verbose --debug"
end
end
再次尝试安装之前,请检查模块是否已安装。例如:
{ puppet module list | grep garethr-docker > /dev/null; } || \
puppet module install garethr-docker
啊,是的!我没有想到要使用bash脚本,我正在寻找一种更“干净”的直接使用puppet的方法。最后我使用:if puppet module list | grep garethr docker>/dev/null;然后木偶模块升级garethr docker;否则木偶模块安装garethr docker;fi,因为我在启动vagrant provision时仍希望更新模块。