Puppet

不能使用 npm 作為 puppet 的提供者

  • September 18, 2021

我正在嘗試在 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 然後嘗試應用上述內容。

我編寫了自己的類來安裝節點,但使用了 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 pluginsync = true 需要添加到節點上的 /etc/puppet/puppet.conf 中。

引用自:https://serverfault.com/questions/638693