안녕하세요 깍돌이 입니다. 오늘은 간단한 트러블 슈팅 입니다.
폐쇠망 서버에 Node.js Agent를 심어야 하는 경우가 있는데 해당 서버에 새롭게 설치를 하려고하면
Node.js 설치 파일 및 Agent 코드를 심어 놓습니다. ( node_modules 포함 )
기존에 서버들은 노드 버전이 13 14 버전을 사용했는데 이번에 새로 하는 노드로 설치시 내부 의존성으로 설치하여 실행하던 PM2 명령어들이 먹지 않는 현상이 발생했습니다.
결론은 맨밑에 있습니다.
Node.js 버전
[root@private-inter-comm-send transaction-test]# node -v
v16.14.0
[root@private-inter-comm-send transaction-test]# npm -v
8.3.1
[root@private-inter-comm-send transaction-test]#
package.json
"scripts": {
"dev": "nodemon app.js",
"start": "pm2 start app.js --name 'ServerNode'",
"nacl": "pm2 start app.js --name 'ServerNode' -- nacl",
"udp": "pm2 start app.js --name 'ServerNode' -- udp",
"list": "pm2 list",
기존에 사용하던 명령어는 npm run start
[root@private-inter-comm-send transaction-test]# npm run start
> servernode@0.0.1 start
> pm2 start app.js --name 'ServerNode'
sh: pm2: command not found
[root@private-inter-comm-send transaction-test]#
sh: pm2: command not found
분명히 깔려는 있는데 연결이 안되는거 같습니다.
내부 폴더의 ./node_modules/pm2로 정상실행되는 모습입니다.
정상적으로 실행되는 경우
node랑 npm 버전이 다른거는 큰차이가 없을거 같아서 심링크를 확인해보겠습니다.
연결 문제는 아닌거같네요
package-lock.json 확인시
비정상 package-lock.json 을 보니 node_modules가 붙어있는데
npm audit fix
npm audit 으로 꼬여져있는 부분들을 재 설치 후 다시 말아서 이동
별효과 없음
이외에 별짓 다해봤는데
노드 16버전에 문제가 있다고 생각되어서 노드 14.19 마지막 버전으로 내리고 정상화되었습니다.
내부적으로 노드 14버전을 LTS로 가지고 작업해야겠네요
다시 정상화 되었네요;
14.19 버전으로 당분간 사용하는것으로 하겠습니다.
'개발일지(Platform & Library) > Node.js' 카테고리의 다른 글
[EXPRESS in Node.js] 에러 미들웨어 - 사용자 Exception 이 404 핸들러로 빠지는 현상 (0) | 2022.07.04 |
---|---|
[EXPRESS in Node.js] 익스프레스 개요 (더미데이터 서버 만들어보기) (0) | 2018.09.19 |
[Node.js] fs 파일시스템 (0) | 2018.07.10 |
[Node.js] OverView (0) | 2018.06.26 |
[Node.js] Cenet OS 7 설치 (centos 7 Install) (0) | 2018.06.26 |