我试图在 Puppet 中执行以下操作:
package { 'bower':
ensure => present,
provider => 'npm',
require => Class['nodejs'],
before => [ Exec['npm_install'], Exec['grunt_build'] ],
}
这给了我错误:
err: Failed to apply catalog: Parameter provider failed on Package[bower]: Invalid package provider 'npm' at
我尝试使用 puppetlabs-nodejs 和 willdurand-nodejs,但没有成功,也手动安装了 npm,然后尝试应用上述操作。
答案1
我编写了自己的类来安装节点,但使用了 puppetlabs-nodejs 自定义提供程序https://github.com/puppetlabs/puppetlabs-nodejs/blob/master/lib/puppet/provider/package/npm.rb
似乎https://puppet.com/docs/puppet/latest/plugins_in_modules.html 需要在节点上的 /etc/puppet/puppet.conf 中添加 pluginsync = true。