Hexo server port 4000 has been used
前言
當你在使用 Visual Studio Code(VSCode)時,如果在多個終端機上執行相同的 hexo server 命令,可能會遇到以下錯誤:
1 | FATAL Port 4000 has been used. Try other port instead. |
這是因為 hexo server 預設綁定的端口為 4000。如果你的電腦上已有其他應用程式或專案在使用該端口,就會出現這個問題。
以下是幾種解決這個問題的方法:
檢查運行中的進程
在重新啟動 hexo server 之前,先確認是否有其他軟體或是專案在運行相同的端口。你可以在終端機中使用以下命令檢查端口使用情況:
檢查指令
Windows 系統:
1 | netstat -ano | findstr :4000 |
macOS 或 Linux 系統:
1 | lsof -i :4000 |
如果有進程正在佔用該端口,根據顯示的 PID 終止該進程,下圖的 20152
就是 PID。
終止指令
Windows 系統:
1 | taskkill /PID <PID> /F |
macOS 或 Linux 系統:
1 | kill -9 <PID> |
下圖為終止端口畫面。
使用不同的端口
如果你不想終止運行中的 4000 port,可以選擇使用不同的端口來啟動服務。透過添加 -p
參數來指定新的端口號,例如:
1 | hexo server -p 4001 |
這樣就能在新的端口上啟動服務,避免與其他服務衝突。
修改 Hexo 配置文件
另一種選擇是在 Hexo 的 _config.yml
文件中直接修改伺服器的端口設定。你可以新增以下程式碼:
1 | server: |
這樣,hexo server 將會自動使用你指定的端口,避免未來的衝突。
總結
以上幾種方法可有效解決 hexo server 的端口衝突問題。根據你的需求選擇最合適的解決方案,可以提升開發效率,避免不必要的錯誤。如果經常遇到端口衝突的情況,建議考慮長期使用不同端口或管理運行中的端口,以確保你的工作不受干擾。