繁体   English   中英

为什么Puppet模块install --force无法安装依赖项以及解决方法?

[英]Why puppet module install --force does not install dependency & how to workaround?

我正在与vagrant&puppet合作安装我的开发环境。

我使用Shell Provisioner安装人偶的模块:

config.vm.provision :shell do |shell|
    shell.inline = "puppet module install --force garethr-docker"
end

但是,当我启动vagrant provision ,我看到puppet不会安装模块依赖项(此特定模块的stdlib,apt和stahma-epel)。

另一方面,如果我删除--force ,则可以正确安装依赖项,但是由于puppet第二次抛出错误(“模块已安装”),所以vagrant provision只能工作一次。

我该如何克服呢? 谢谢。

PS,我完整的Vagrantfile:

# -*- 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM