pm2 在 git hook 中抛出错误

pm2 在 git hook 中抛出错误

如果调用以下 git post-receive 钩子,我的服务器将引发错误:

#!/bin/sh
#
pm2 start main.js --name powerapp

如果将命令逐个输入到终端中,它将起作用。那么我做错了什么?

错误:

remote: fs.js:642
remote:   return binding.mkdir(pathModule._makeLong(path),
remote:                  ^
remote: Error: EACCES, permission denied '/etc/.pm2'
remote:     at Object.fs.mkdirSync (fs.js:642:18)
remote:     at Object.CLI.pm2Init (/home/nodejs/.local/lib/node_modules/pm2/lib/CLI.js:39:8)
remote:     at Object.<anonymous> (/home/nodejs/.local/lib/node_modules/pm2/bin/pm2:21:5)
remote:     at Module._compile (module.js:456:26)
remote:     at Object.Module._extensions..js (module.js:474:10)
remote:     at Module.load (module.js:356:32)
remote:     at Function.Module._load (module.js:312:12)
remote:     at Function.Module.runMain (module.js:497:10)
remote:     at startup (node.js:119:16)
remote:     at node.js:901:3 

pm2 是通过 npm install pm2 -g 安装的,应该由用户“git”运行。

答案1

export PM2_HOME='/var/opt/gitlab/.pm2'

帮我搞定了。仍然怀疑我是否配置错误。

相关内容