안녕하세요 깍돌이 입니다. 오늘은  간단한 트러블 슈팅 입니다.

폐쇠망 서버에 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 버전으로 당분간 사용하는것으로 하겠습니다.

 

 

 

+ Recent posts