我尝试使用木偶安装凉亭。它失败并显示错误消息“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
答案 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
}