NodeJ 및 systemd에 raspbian 오류 MODULE_NOT_FOUND / Module._resolveFilename이 있습니다.

NodeJ 및 systemd에 raspbian 오류 MODULE_NOT_FOUND / Module._resolveFilename이 있습니다.

헤이-헤이! 시스템의 어느 곳에서나 실행할 수 있는 노드 스크립트가 있습니다.

/usr/bin/node /home/admin/git-repos/MMMMobileAlerts/maserver/mobilealerts.js

그 후에 x비트도 추가했습니다.

 sudo chmod +x /home/admin/git-repos/MMMMobileAlerts/maserver/mobilealerts.js

이제 내가 원하는 것은 서비스로 실행하는 것뿐입니다. 그래서 maserver.service파일을 만들었어요/etc/systemd/system

[Service]
ExecStart= /usr/bin/node /home/admin/git-repos/MMMMobileAlerts/maserver/mobilealerts.js

나도 그것을 시도했습니다 #!.

명령어를 입력한 후 sudo systemctl daemon-reload확인해보니 sudo systemctl status maserver


● maserver.service
     Loaded: loaded (/etc/systemd/system/maserver.service; static)
     Active: failed (Result: exit-code) since Mon 2023-08-21 10:00:16 CEST; 5h 9min ago
   Main PID: 2404124 (code=exited, status=1/FAILURE)
        CPU: 234ms

Aug 21 10:00:16 dockerpi node[2404124]:     at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
Aug 21 10:00:16 dockerpi node[2404124]:     at Module._load (node:internal/modules/cjs/loader:922:27)
Aug 21 10:00:16 dockerpi node[2404124]:     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
Aug 21 10:00:16 dockerpi node[2404124]:     at node:internal/main/run_main_module:23:47 {
Aug 21 10:00:16 dockerpi node[2404124]:   code: 'MODULE_NOT_FOUND',
Aug 21 10:00:16 dockerpi node[2404124]:   requireStack: []
Aug 21 10:00:16 dockerpi node[2404124]: }
Aug 21 10:00:16 dockerpi node[2404124]: Node.js v18.17.1
Aug 21 10:00:16 dockerpi systemd[1]: maserver.service: Main process exited, code=exited, status=1/FAILURE
Aug 21 10:00:16 dockerpi systemd[1]: maserver.service: Failed with result 'exit-code'.

Raspbian에서 systemd를 사용하여 NodeJs 스크립트를 서비스로 실행하고 싶습니다.

답변1

Node에서 호출한 js에 서비스 파일의 사용자 및 그룹 지시문을 설정하여 동일한 문제를 해결했습니다.

[Service]
User=ubuntu
Group=ubuntu

관련 정보