Puppet:Provider npm在此主机上无法正常运行

时间:2013-11-21 16:10:17

标签: node.js puppet

我尝试使用木偶安装凉亭。它失败并显示错误消息“Provider npm在此主机上无法正常运行”。

我在安装了puppet / vim的新vm上运行了这个,并安装了以下模块。

puppet module install willdurand/nodejs

Site.pp:

include nodejs

package { 'express':
  provider => npm
}

这是错误:

root@puppet:~# puppet apply site.pp
Warning: Could not retrieve fact fqdn
Warning: Config file /etc/puppet/hiera.yaml not found, using Hiera defaults
Notice: Compiled catalog for chef in environment production in 0.29 seconds
Notice: /Stage[main]/Nodejs/Nodejs::Install[nodejs-stable]/Package[make]/ensure:                                                  ensure changed 'purged' to 'present'
Notice: /Stage[main]/Nodejs/Nodejs::Install[nodejs-stable]/File[nodejs-install-d                                                 ir]/ensure: created
Notice: /Stage[main]/Nodejs/Nodejs::Install[nodejs-stable]/Package[g++]/ensure:                                                  ensure changed 'purged' to 'present'
Notice: /Stage[main]/Nodejs/Nodejs::Install[nodejs-stable]/File[/usr/local/node/                                                 node-v0.10.22]/ensure: created
Notice: /Stage[main]/Nodejs/Nodejs::Install[nodejs-stable]/Wget::Fetch[nodejs-do                                                 wnload-v0.10.22]/Exec[wget-nodejs-download-v0.10.22]/returns: executed successfu                                                 lly
Notice: /Stage[main]/Nodejs/Nodejs::Install[nodejs-stable]/Exec[nodejs-unpack-v0                                                 .10.22]/returns: executed successfully
Notice: /Stage[main]/Nodejs/Nodejs::Install[nodejs-stable]/Exec[nodejs-make-inst                                                 all-v0.10.22]/returns: executed successfully
Error: /Stage[main]/Nodejs/Nodejs::Install[nodejs-stable]/Package[semver]: Provi                                                 der gem is not functional on this host
Error: /Stage[main]//Package[express]: Provider npm is not functional on this ho                                                 st
Notice: /Stage[main]/Nodejs/Nodejs::Install[nodejs-stable]/File[nodejs-symlink-b                                                 in-with-version-v0.10.22]: Dependency Package[semver] has failures: true
Warning: /Stage[main]/Nodejs/Nodejs::Install[nodejs-stable]/File[nodejs-symlink-                                                 bin-with-version-v0.10.22]: Skipping because of failed dependencies
Notice: /Stage[main]/Nodejs/File[/usr/local/bin/node]: Dependency Package[semver                                                 ] has failures: true
Warning: /Stage[main]/Nodejs/File[/usr/local/bin/node]: Skipping because of fail                                                 ed dependencies
Notice: /Stage[main]/Nodejs/File[/usr/local/bin/npm]: Dependency Package[semver]                                                  has failures: true
Warning: /Stage[main]/Nodejs/File[/usr/local/bin/npm]: Skipping because of faile                                                 d dependencies

2 个答案:

答案 0 :(得分:0)

要启用的npm提供程序的唯一约束是它是否在路径上找到npm。该模块创建/usr/local/bin/npm,这意味着PATH变量中不存在/usr/local/bin

答案 1 :(得分:0)

尝试

package { 'express':
    provider => 'npm',
    require  => Class['nodejs'], #This fixed it in my case
  }