緣由: 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