Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么puppet module安装--force不安装依赖项&;如何解决?_Module_Vagrant_Puppet - Fatal编程技术网

为什么puppet module安装--force不安装依赖项&;如何解决?

为什么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) 另一方面

我正在与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)

另一方面,如果我删除
--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时仍希望更新模块。