目錄

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 節點顯示 Test URL 與 Production URL
Webhook 節點:上方可以切換 Test URL 與 Production URL。這裡的網址顯示 localhost,代表還沒有設定對外網址

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 應用程式處於「測試」狀態時,授權的有效期限較短。可以將應用程式發布為正式版本。

透過 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日