node.js 생초보다. node.js 뿐만 아니라 Visual Studio Code 도 익숙하지 않다.
전임자에게 인수인계를 받으면서 속성으로 살짝 배운 것을 며칠 지나 다시 해보려니 금새 까먹어서 헤맨다.
Visual Studio Code 명령창에 node app.js 라고 치면 로칼에서 테스트 가능한 상태가 되어야하는데 에러가 난다!
Cannot find module 'D:\dev\app.js'
실제 명령어와 결과는 다음과 같다.
PS D:\dev> node app.js
node:internal/modules/cjs/loader:1051
throw err;
^
Error: Cannot find module 'D:\dev\app.js'
at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)
at Module._load (node:internal/modules/cjs/loader:901:27)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12)
at node:internal/main/run_main_module:23:47 {
requireStack: []
}
스샷으로 보면 이렇다!
돌이켜서 정리해보면 현재 담당 업무의 node app.js 실행시 문제는 2가지 이유로 발생했었다.
하나는 package.json 의 library 중 하나인 libcurl 문제이고, 하나는 명령어를 실행하는 경로 문제였다.
"node-libcurl": "^3.0.0" <-- 이 부분의 버전을 수정해서 해결되어야 하는데, 내 환경에서는 아예 해당라인을 삭제해서 임시로 사용중이다.
Cannot find module 'D:\dev\app.js'
오류 메시지를 찬찬히 살펴보면 원인과 해결책이 간단하다. 워낙 정신없이 여러가지 이야기를 들었고, 그것을 잊지 않으려고 애쓰다보니 워려웠던 것이다.
오류 메시지를 보면 D:\dev\app.js 가 없다는 이야기 아닌가.
윈도우즈 탐색기로 해당 경로에 가보면 없다!
app.js 가 어디 있는지 찾아보면 하위 폴더에 있음을 알 수 있다.
올바른 경로로 이동하면 해결되는 일이다!
cd pricow-naff
PS D:\dev> cd pricow-naff
PS D:\dev\pricow-naff> node app.js
Express server listening on port 3000
getReqNum.do start
굳이 cd 명령을 하지 않고 node .\pricow-naff\app.js 처럼 해도 결과는 동일하다!