緣由: node.js專案中執行npm run start命令指令碼報錯,No such file or directory
- 最開始以為是命令指令碼找不到所謂的執行路徑,但後面發現不是,是package.json沒有指定埠或使用的埠已被佔用
一、npm run start報錯排查流程
1. npm run檢視是否命令指令碼存在
2. 確認命令指令碼存在後檢視package.json的scripts物件
檢視到package.json的scripts物件的start, stop指令碼都沒有指定deploy_name和port, debug沒有指定port
3. 為start, stop指令碼指定deploy_name和port(port最好指定非常量)
指定7001為常量。所以npm run start時提示埠被佔用
二、查詢當前被佔用的埠及關閉流程(以下為windows系統排查流程)
1. 列出所有埠
netstat -ano
2. 查詢指定埠的執行情況
netstat -aon|findstr 7001
3. 根據PID獲取程序名稱
tasklist|findstr 57900
4. 根據程序名稱或者程序id結束程序
taskkill /f /t /im node.exe
taskkill /pid 57900 /F