如何puppetizegem安装具体到木偶的ruby?

Puppet Azure模块需要安装特定的gem。 说明https://github.com/puppetlabs/puppetlabs-azure显示以下示例:

/opt/puppetlabs/puppet/bin/gem install azure azure_mgmt_compute azure_mgmt_storage azure_mgmt_resources azure_mgmt_network hocon retries --no-ri --no-rdoc 

具体的gem二进制/opt/puppetlabs/puppet/bin/gem用来确保gem安装到puppet安装目录并使用puppet的捆绑版本的ruby

傀儡的包资源有一个gem提供者,但它会使用系统ruby安装。

我怎么可以puppetize傀儡具体的gem安装? 我不想使用一个exec资源。 有没有傀儡代理安装gem的资源?

看着这个提供者,它真的可以掏出gem而不是在Ruby中做事情(这可能根本不可能)。

这是不可configuration的。 你可以试着让傀儡agent (或者apply )运行一个PATH ,这个PATH比其他副本更喜欢Puppet的Ruby / gem。 这可能会做到这一点(但可能会打破其他的东西)。 当然,你没有select在同一个Puppet事务中安装“system”gem。

我在https://docs.puppetlabs.com/references/4.0.0/type.html#package-provider-puppet_gemfind了答案

Puppet v4的新function是一个puppet_gem提供程序包资源。

 package { 'azure' : provider => 'puppet_gem', ensure => installed, }