我正在通过puppet& amp;部署sails.js应用程序这是我的清单:
class sails {
include apt
class { 'nodejs':
manage_repo => true,
}
vcsrepo { '/var/www':
ensure => latest,
provider => git,
source => 'https://www.gitrepo.com',
revision => 'master',
require => Class['nodejs'],
}
exec { 'npm install':
path => '/usr/bin/',
cwd => '/var/www/',
require => [Vcsrepo['/var/www'],Class['nodejs']],
}
}
一直顺利到npm install
,它会通过大多数依赖项,但之后会发生这种情况:
Notice: /Stage[main]/sails/Exec[npm install]/returns: npm http 200 https://registry.npmjs.org/ws/-/ws-0.4.31.tgz
Notice: /Stage[main]/sails/Exec[npm install]/returns:
Notice: /Stage[main]/sails/Exec[npm install]/returns: > bson@0.1.8 install /var/www/node_modules/sails/node_modules/connect-mongo/node_modules/mongodb/node_modules/bson
Notice: /Stage[main]/sails/Exec[npm install]/returns: > (node-gyp rebuild 2> builderror.log) || (exit 0)
Notice: /Stage[main]/sails/Exec[npm install]/returns:
Notice: /Stage[main]/sails/Exec[npm install]/returns: execvp(): No such file or directory
关于这是为什么的任何想法?如果我在/var/www
中手动运行npm install,它可以正常工作。
答案 0 :(得分:0)
我遇到了类似的问题,因为我没有安装git。
答案 1 :(得分:0)
我遇到了同样的问题。最后,我能够解决它:
sudo -i sh -c "cd ${app_directory}; npm install"
根据此处的讨论: https://github.com/TooTallNate/node-gyp/issues/115#issuecomment-7386287