Clash 用戶端啟動閃退怎麼辦?Windows 與 macOS 崩潰排查步驟
點兩下圖示沒反應、視窗一閃即逝、介面打開後提示核心啟動失敗,是 Clash 類用戶端最常見的三類啟動故障。本文依故障層級整理原因,分別提供 Windows 與 macOS 的排查步驟。所有操作皆可還原,開始前請先備份設定目錄。
先判斷崩潰發生在哪一層
啟動故障分兩層,處理方式完全不同。先花一分鐘定位層級,再動手排查。
- GUI 層崩潰:點兩下圖示沒反應、程序出現後立刻結束、視窗白屏。原因多為執行環境缺失、安裝包與系統架構不匹配、權限不足。
- 核心層崩潰:介面正常打開,但提示「核心啟動失敗」「Clash core exited」,或系統代理開關一打開就報錯。原因多為設定檔損毀、連接埠被占用、上一次的核心程序殘留。
判斷方法:打開用戶端的日誌頁面,或直接查看資料目錄下的 logs 資料夾。日誌停在介面初始化階段,是 GUI 層問題;日誌裡出現 mihomo 或 clash 核心的報錯行,是核心層問題。核心層問題優先查設定檔,GUI 層問題優先查執行環境。
通用檢查:設定檔與訂閱
設定檔損毀是核心層崩潰的首要原因。Clash 的設定採用 YAML 格式,對縮排與字元十分敏感,任何一處格式錯誤都會讓核心在啟動解析階段直接退出。
常見的損毀情境有三種:
- 手動編輯設定時混入了 Tab 縮排。YAML 只允許以空格縮排,一個 Tab 就足以讓解析失敗。
- 訂閱連結回傳的不是 YAML,而是錯誤提示頁、登入頁或空白內容,用戶端原樣寫入後便無法解析。
- 用戶端異常退出時正在寫入設定檔,檔案被截斷,留下半份 YAML 文件。
處理方式是讓用戶端重建設定,而不是逐行手動修:
- 徹底結束用戶端,找到設定目錄(見下表)。
- 把整個目錄重新命名備份,例如在原名後加上
.bak副檔名。 - 重新啟動用戶端,它會自動重建一份預設設定。
- 重新匯入訂閱,確認能正常啟動後,再從備份中挑回需要的自訂規則。
| 用戶端 | Windows 設定目錄 | macOS 設定目錄 |
|---|---|---|
| Clash Verge Rev | %APPDATA%\io.github.clash-verge-rev.clash-verge-rev | ~/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev |
| Clash for Windows | %APPDATA%\clash | — |
| ClashX Meta | — | ~/.config/clash |
| mihomo 核心(獨立執行) | ~/.config/mihomo | |
另一類高頻損毀是快取檔案 cache.db。它記錄 Fake-IP 對應等執行狀態,異常斷電後可能損毀並導致核心啟動即崩潰。直接刪除該檔案即可,用戶端會自動重建,不影響設定。
Windows 排查步驟
修復 WebView2 執行階段
Clash Verge Rev、Clash Nyanpasu 等以 Tauri 框架打造的用戶端,依賴系統的 WebView2 元件繪製介面。WebView2 缺失或損毀時,典型表現是視窗白屏、啟動後立即退出。
開啟「設定 → 應用程式 → 已安裝的應用程式」,搜尋 WebView2。若已安裝,選擇「修改 → 修復」;若未安裝,請至微軟官網下載安裝 Microsoft Edge WebView2 Runtime,安裝完成後重新啟動用戶端。Electron 系用戶端(如 Clash for Windows)自帶繪製核心,不依賴 WebView2,可跳過此項。
檢查連接埠占用
預設混合連接埠 7890 被其他程式占用時,核心啟動即失敗。在命令提示字元中執行:
netstat -ano | findstr :7890
有輸出代表連接埠被占用,最後一欄是占用程序的 PID,可在工作管理員的「詳細資料」頁依 PID 找到它。占用者通常是上一次沒退乾淨的 Clash 核心,直接結束即可。若不想動占用方,也可以在用戶端設定裡把混合連接埠改成 7897 等空閒連接埠。
清理殘留程序
用戶端異常退出後,核心程序可能仍在背景執行,再次啟動時會產生連接埠與檔案鎖衝突。以系統管理員權限開啟命令提示字元並執行:
taskkill /F /IM verge-mihomo.exe
taskkill /F /IM clash-meta.exe
taskkill /F /IM mihomo.exe
依實際用戶端的核心程序名稱執行,若提示「找不到該程序」可忽略,代表沒有殘留。
權限與安全軟體
- TUN 模式與服務模式需要系統管理員權限。在用戶端圖示上按右鍵選「以系統管理員身分執行」,可驗證故障是否與權限有關。
- 部分安全軟體會攔截核心連網,或把核心執行檔誤判為威脅並隔離。請檢查安全軟體的隔離區,還原被隔離的檔案,並把用戶端安裝目錄加入信任清單。
- 安裝路徑請避免使用中文與空格以外的特殊字元,部分舊版本對非 ASCII 路徑的處理不夠完善。
macOS 排查步驟
「已損毀,無法打開」與隔離屬性
從瀏覽器下載的未經公證應用程式,會被 Gatekeeper 加上隔離屬性,點兩下時提示「已損毀」並直接退出。檔案本身通常完好,移除隔離屬性即可。開啟「應用程式 → 工具程式 → 終端機」,執行:
sudo xattr -rd com.apple.quarantine /Applications/Clash\ Verge.app
把路徑換成實際的應用程式名稱,輸入登入密碼後按 Enter,再正常啟動。
確認晶片架構
Apple 晶片(M 系列)對應 arm64 安裝包,Intel 對應 x64。裝反的典型表現是 Dock 圖示跳一下就退出,在終端機手動執行二進位檔會報 Bad CPU type in executable。點左上角蘋果選單 →「關於本機」確認晶片型號,再到下載頁換成對應架構的版本重新安裝。
連接埠與殘留程序
與 Windows 同理,先查預設連接埠:
lsof -i :7890
有輸出則依第二欄的 PID 結束占用程序:
kill -9 <PID>
也可以直接依程序名稱清理殘留核心:pkill -f mihomo。
權限修復
首次啟動時系統會彈出授權視窗,用於寫入系統代理設定,點「取消」會導致後續啟動流程異常。另外,若曾用 sudo 直接執行過用戶端,設定目錄的擁有者可能變成 root,之後以一般權限啟動便會讀寫失敗。修復擁有者:
sudo chown -R $(whoami) ~/Library/Application\ Support/io.github.clash-verge-rev.clash-verge-rev
路徑請依上表替換成實際用戶端的目錄。
徹底清理後重新安裝
單點修復無效時,依下面的順序做一次乾淨重灌。重灌解決的是「本機資料目錄損毀」這類問題;訂閱連結本身失效、機場端故障不在此列,那類問題用戶端再乾淨也連不上。
- 結束用戶端,依上文方法確認核心程序已全部結束。
- 把資料目錄重新命名備份,加上
.bak副檔名。 - 刪除原資料目錄,卸載舊版本。
- 安裝最新版用戶端,啟動後重新匯入訂閱。
- 先不開啟 TUN 模式,確認系統代理模式下能正常連線。
- 逐項恢復自訂設定,每改一項就重新啟動一次,藉此定位觸發崩潰的具體設定項。
仍然崩潰:收集日誌再排查
以上步驟都無效時,把用戶端的日誌等級調到 debug,重現一次崩潰,再收集以下資訊:
- 作業系統版本,例如 Windows 11 23H2、macOS 15.5。
- 用戶端名稱與版本號,以及核心類型(mihomo 或 Clash Premium)。
- 完整的重現步驟:從點兩下圖示到崩潰的每一步操作。
- 日誌中崩潰前後的報錯片段,截取最後三十行通常就夠用。
帶著這些資訊到用戶端專案的 GitHub Issues 頁面搜尋,多數啟動崩潰已有現成結論與修復版本;找不到匹配結果時再提交新 issue,附上上述清單,能明顯縮短等待回覆的時間。
下載最新版用戶端
舊版本的已知缺陷是啟動崩潰的常見誘因。下載頁收錄各平台仍在維護的 Clash 用戶端,標註核心類型與適用架構,安裝最新版可直接排除已修復的啟動問題。