我尝试使用node.js和Github webhooks自动部署我的项目。我跟着this tutorial,但我得到了这个execFile函数错误:
{ [Error: spawn ENOENT] code: 'ENOENT', errno: 'ENOENT', syscall: 'spawn' }
我检查了shell脚本(hook.sh)文件位置,fs.exists函数说它没关系。我试图执行除shell脚本之外的其他文件并且它有效(或者至少它找到了该文件)。所以它可能是bin / bash的某种问题。我真的不知道。 shell脚本文件与hook.js文件位于同一目录中(请参阅教程)。
我的虚拟主机是WebFaction。
答案 0 :(得分:1)
我的建议是按照以下步骤进行操作
hook.sh
检查ls -l
脚本的执行权限。您
可以尝试使用sudo chmod a+x <PATH TO MY HOOK.SH>
execFile('/path/to/hook.sh', execOptions, function(error, stdout, stderr)
绝对路径。如果它不起作用,请尝试将其指向某个虚拟脚本,例如触及文件系统上的某些文件。bash
运行以下命令set -x
。并检查shell是否开始执行hook.sh