Mein Server gibt einen Fehler aus, wenn der folgende Git-Post-Receive-Hook aufgerufen wird:
#!/bin/sh
#
pm2 start main.js --name powerapp
Wenn die Befehle einzeln in das Terminal eingegeben werden, funktioniert es. Was mache ich also falsch?
Fehler:
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 wurde über npm install pm2 -g installiert und sollte vom Benutzer „git“ ausgeführt werden.
Antwort1
export PM2_HOME='/var/opt/gitlab/.pm2'
hat es für mich getan. Frage mich immer noch, ob ich etwas falsch konfiguriert habe.