> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# 故障排查

在實際失敗的邊界處診斷安裝問題。

## 安裝與配置

在執行任何步驟之前，請閱讀[開始之前](https://supastack.dev/zh-tw/docs/web/before-you-start.md) 和[終端基礎知識](https://supastack.dev/zh-tw/docs/web/terminal-basics.md)。這些說明假設您在 VS Code 中開啟了完整的 supastack monorepo；它的根 package.json 標記儲存庫根。在 pnpm 命令中，工作區包是應用程式或共享程式碼資料夾；在產品中，工作空間是團隊的資料容器和安全邊界。 corepack pnpm --filter ... 從 monorepo 選擇一個包，同時從其根執行命令。如果您僅開啟同步的移動或桌面資料夾，則它不包含 Web 後端、Docker 設定或根指令碼：從此 monorepo 或可訪問的託管伺服器執行後端，並使用平臺資料夾自己的指令碼。環境變數是儲存在本地 .env 檔案或託管儀錶板中的命名設定；更改後重新啟動相關應用程式，並將伺服器機密保留在 NEXT_PUBLIC_ 和 EXPO_PUBLIC_ 值之外。

1. 複製第一個有用的錯誤行和產生它的命令；不要貼上秘密值。

2. 從儲存庫根目錄執行 corepack pnpm --filter @supastack/web typecheck（針對 Web 型別錯誤）或 corepack pnpm test（針對自動化套件）。

3. 對於瀏覽器問題，使用 corepack pnpm --filter @supastack/web dev 啟動 Web 並在 http://localhost:3000. 重現它 預期：在更改設定之前，您可以判斷故障是否出在設定、程式碼、資料庫、提供程式或瀏覽器中。

改配置之前，先讀失敗的命令與第一個相關錯誤。判斷失敗發生在依賴安裝、編譯、環境校驗、資料庫訪問、供應商派發還是瀏覽器行為。

```
corepack pnpm --filter @supastack/web typecheck
corepack pnpm --filter @supastack/web build
corepack pnpm test
```


## 要複製的命令

按照註釋檢視命令在哪個資料夾中執行。如果標記了兩個終端，請開啟兩個終端視窗，並在使用第二個命令時保持第一個命令執行。

```
corepack pnpm --filter @supastack/web typecheck
corepack pnpm test
```


## 首次執行報錯速查

首次執行失敗的方式就那麼幾種。把第一行紅色錯誤對應到表中的一行——後面的錯誤通常是第一個的連帶後果，先修最上面的那個。

| 症狀 | 可能的原因 | 首先修復 |
|---|---|---|
| node、corepack 或 pnpm 提示“不是內部或外部命令”/ command not found | 工具未安裝，或終端在安裝完成前就開啟了 | 安裝它（或重新開啟終端），然後重試 node --version |
| 找不到 package.json / ENOENT package.json | 終端所在的資料夾不對 | cd 進儲存庫根目錄——包含 package.json 的資料夾——再重試 |
| EADDRINUSE / 埠 3000 已被佔用 | 另一個開發伺服器仍佔用該埠 | 找到那個伺服器的終端並按 Ctrl + C，然後重新啟動 |
| ECONNREFUSED localhost:5432 或資料庫連線錯誤 | Postgres 沒在執行 | 執行 docker compose up -d postgres，等到 healthy 再重試 |
| 環境校驗報錯並指出缺失的鍵名 | apps/web/.env.local 缺失，或某個必填值為空 | 從 .env.example 複製那個指名的鍵，填上值，儲存並重啟伺服器 |
| corepack enable 之後 corepack 或 pnpm 仍找不到 | PATH 上沒有 pnpm shim | 直接用 corepack pnpm ...——它從不需要 shim；Windows 上用 corepack.cmd |
| PowerShell 提示 .ps1 指令碼無法執行 / 被阻止 | PowerShell 的指令碼策略攔下了 shim | 改用 .cmd 形式——corepack.cmd pnpm install——無需改策略 |


## 實現流程

API 訪問缺失時，確認伺服器在執行且配置的 origin 與客戶端一致。AI 選項不可用時，檢查 AI_MODEL_POLICY 與已啟用的目錄行。排隊狀態不確定的任務，走已儲存的恢復流程而不是再提交一次。

瀏覽器佈局問題，檢查計算樣式並復現精確視口。產品介面 token 在 app-theme.css（配色包來自 catalog.ts）；營銷品牌鎖定在 theme.css。元件覆蓋仍可能靠優先順序勝出。要看渲染出來的圓角，而不只是 token 宣告。


## 驗證與排障

如果頁面位於 :3001，則為 Web 應用程式開啟 :3000； :3001屬於單獨的apps/docs伺服器。如果測試要求訪問資料庫，請使用獨立的開發資料庫並檢查兩個 .env 位置。如果仍然存在相同的錯誤，請在尋求幫助時包含該命令並清理第一個錯誤行；切勿停用訪問檢查或將機密列印到日誌中。

不要靠停用授權、記錄金鑰或把跳過的基礎設施檢查當作通過來解決失敗檢查。捕獲一個小的復現與相關的非敏感配置。修復後重跑失敗檢查，再跑受影響的迴歸測試。


## 下一篇

[如何使用這些檔案](https://supastack.dev/zh-tw/docs/web/using-the-docs.md)
