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