有時在開啟 Node 執行起來時,會噴 Error: listen EACCES: permission denied 0.0.0.0:3000 (3000 為專案使用的 Port) 的錯誤,如下,
Error: listen EACCES: permission denied 0.0.0.0:3000
error Failed to start server Error: listen EACCES: permission denied 0.0.0.0:3000 at Server.setupListenHandle [as _listen2] (node:net:1723:21) at listenInCluster (node:net:1788:12) at Server.listen (node:net:1876:7) code: ‘EACCES’, errno: -4092,
有時可以換別的 Port Number ,但是有時一大堆的 Port 都不能使用, 要一個個換也蠻麻煩的。 要看 port 有沒有被佔住,可以執行 netsh interface ipv4 show excludedportrange protocol=tcp 來看一下, 看看要用的 port 有在那些 Range 之中。
netsh interface ipv4 show excludedportrange protocol=tcp
解法可以將 winnat 服務重新啟動, 以 系統管理者身份 執行 命令視窗,執行 net stop/start winnat , 應該就可以了,如下,
net stop/start winnat
12
net stop winnatnet start winnat