【Dify 安裝教學】解決 Windows WSL2 下 PostgreSQL 無限重啟:為什麼源碼開發必須遠離 C 槽?
在 Windows 環境下透過 WSL2 安裝 Dify 原始碼(Source Code)時,最常遇到的挫折不是程式碼寫錯,而是資料庫(Database)連線失敗。本文將深入解析如何解決 PostgreSQL 權限報錯 與 Restarting (unhealthy) 問題,並提供 2026 年最完整的安裝流程。 為什麼 Dify 在 Windows C 槽安裝會失敗? 當你將 Dify 專案放在 /mnt/c/Users/... (NTFS 格式)時,會觸發 WSL2 的底層權限衝突 。 1. 檔案系統的權限代溝 (chmod 0700) PostgreSQL 對資料夾權限要求極嚴。在啟動時,它會嘗試執行 chmod 0700 來保護數據。然而,Windows 的 NTFS 磁碟不支援 Linux 的權限鎖定位元,導致報錯: initdb: error: could not change permissions: Operation not permitted 2. I/O 效能的「降維打擊」 WSL2 存取 Windows 磁碟(C 槽)需經過 9P 協議轉換,讀寫效能比原生 Linux 檔案系統慢了將近 10 倍 。這會導致 pnpm install 或 uv sync 異常緩慢。 🛠️ Dify Windows 安裝「避坑」指南:正確流程 為了確保 Dify 穩定運行,請務必將專案「移民」至 WSL 原生路徑 (如 /home/username/ )。 第一步:徹底清理舊容器 在嘗試新安裝前,先移除 C 槽殘留的損壞數據卷: Bash cd /mnt/c/your/old/path/docker docker compose -p dify down -v 第二步:移民至 WSL 原生地盤 (極速關鍵) 不要在 /mnt/c/ 下執行 git clone ! 請執行以下指令: Bash cd ~ # 回到 Linux 家目錄 mkdir -p Projects && cd Projects git clone https://github.com/langgenius/dify.git cd dify/docker 第三步:啟動中間件 (Docker Middleware) 複製環境變數範本並啟動資...