我正在使用Puppet来configurationVagrant box,并希望包含第三方软件包提供者( https://github.com/torrancew/puppet-cpanm )
该回购协议中的README.md显示了如何在清单中使用提供者,但是假设(我相信)这个提供者有或知道这个提供者。 有了我的stream浪安装,我真的没有一个木偶大师(或stream浪者作为一个?),所以我不知道如何实际使用包提供程序类( https://github.com/torrancew/puppet-cpanm /blob/master/lib/puppet/provider/package/cpanm.rb )
我需要做什么,无论是在我的Vagrantfile,我的Puppet清单,还是在guest / host系统configuration中的其他地方,我都可以使用这个软件包提供程序?
include cpanm到你的清单来处理。 您必须安装提供程序模块并在Puppet的模块modulepath中查看它。
使用提供者总是会经过适当性检查 ,您可以在提供者的命令/限制中看到:
confine :exists => ['/usr/bin/cpanm', '/usr/bin/perldoc'] commands :cpanm => '/usr/bin/cpanm'
适用性意味着提供者声明提供者需要存在以上项目才能激活。 有一条消息告诉你什么时候一个提供者不适合,当你使用--debug --verbose运行Puppet时,会出现在Vagrantfile中,如下所示:
config.vm.provision :puppet, :options => ["--debug --trace --verbose"] do |puppet| #other settings here end
有关使用第三方软件包提供程序(巧克力类)的完整示例,请参阅
但是,现在Chocolatey提供程序可以处理自己的安装,就像确保安装提供程序一样简单,然后将以下代码添加到清单中:
include chocolatey
回到完整的循环,似乎cpanm也可以处理安装本身 :
include cpanm