目錄
n8n 常見問題與錯誤排除
工作流程沒有自動執行
- 是否已經按下 Publish(n8n 1.x 是 Active 開關)?只按 Save 不會讓觸發器運作。
- 修改後是否重新發布?
- 排程時間是否正確?見下一題。
- 到 Executions 查看是否有失敗的紀錄。
排程時間差了 8 小時
n8n 的時區沒有設定,預設使用 UTC。設定環境變數 GENERIC_TIMEZONE=Asia/Taipei 並重新啟動,或在工作流程的 Settings → Timezone 中指定。
Webhook 網址顯示 localhost
在部署設定中加上對外網址:
N8N_WEBHOOK_URL=https://n8n.example.com/
(n8n 2.30 之前的版本使用 WEBHOOK_URL。)同時確認 N8N_HOST 與 N8N_PROTOCOL 正確,見 自架部署。

Webhook 回傳 404
- 用 Test URL 時,需要先按 Listen for test event,而且只能接收一次。
- 用 Production URL 時,工作流程必須已發布。
- 確認 HTTP 方法(GET / POST)與設定一致。
詳見 Webhook 教學。
節點執行了很多次
上游節點輸出了多個 items,下游節點會對每一個執行一次。不想重複執行時,在節點的 Settings 開啟 Execute Once,或先用 Aggregate 合併資料。見 資料結構與 items。
Google 授權失敗:redirect_uri_mismatch
Google Cloud 中設定的「已授權的重新導向 URI」和 n8n 顯示的 OAuth Redirect URL 不一致。複製 n8n 憑證畫面上的網址,完整貼到 Google Cloud 中。如果 n8n 顯示的是 localhost,先修正部署的網址設定。見 憑證管理。
Google 授權每隔幾天就失效
Google Cloud 的 OAuth 應用程式處於「測試」狀態時,授權的有效期限較短。可以將應用程式發布為正式版本。
從其他電腦連線出現 secure cookie 錯誤
透過 http://(非 HTTPS)從非 localhost 連線時會發生。正式使用請設定 HTTPS;只在內網測試時可以暫時設定 N8N_SECURE_COOKIE=false。
記憶體不足(JavaScript heap out of memory)
通常是一次處理太多資料或太大的檔案:
- 用 Loop Over Items 分批處理
- 拆成子工作流程(子流程結束後會釋放記憶體)
- 只保留需要的欄位(Edit Fields 開啟 Keep Only Set Fields)
- 調高主機記憶體
資料庫越來越大
執行紀錄會保存每個節點的完整資料。設定自動清理:
EXECUTIONS_DATA_PRUNE=true
EXECUTIONS_DATA_MAX_AGE=168 # 保留 7 天(單位:小時)
也可以在工作流程的 Settings 中設定「成功的執行不保存資料」。
運算式顯示 undefined 或錯誤
- 先執行前面的節點,運算式預覽才有資料。
- 用
?.避免中間層不存在:{{ $json.address?.city }}。 - 讀取更早的節點要用
$('節點名稱'),而不是$json。
見 運算式教學。
Code 節點讀不到 $env
n8n 2.x 預設禁止 Code 節點讀取環境變數。建議把需要的值改存成憑證或在節點參數中傳入。
更新後工作流程壞了
檢查版本說明中的破壞性變更。如果無法立即修正,可以把映像檔版本改回舊版並還原資料庫備份(資料庫遷移通常無法反向執行,所以更新前的備份很重要)。見 備份與更新。
去哪裡找範例?
- n8n 官網的 Templates 頁面有數千個社群分享的工作流程範本,可以直接匯入使用。
- n8n 官方社群論壇有大量問答,遇到錯誤訊息時可以先搜尋。
更新於 2026年10月12日