API 版本「5.4.296」與 Worker 版本「5.3.31」不符

API 版本「5.4.296」與 Worker 版本「5.3.31」不匹配…我收到此錯誤,我在自架和雲端上都試過了

嗨團隊,我收到上述錯誤

描述問題/錯誤/問題

API 版本「5.4.296」與 Worker 版本「5.3.31」不匹配…我收到此錯誤,我在自架和雲端上都試過了

錯誤訊息是什麼(如果有的話)?

API 版本「5.4.296」與 Worker 版本「5.3.31」不匹配…我收到此錯誤,我在自架和雲端上都試過了

請分享您的工作流程


(選擇畫布上的節點,使用鍵盤快速鍵 CMD+C/CTRL+C 和 CMD+V/CTRL+V 來複製和貼上工作流程。)

分享最後一個節點返回的輸出

{
“errorMessage”: “API 版本『5.4.296』與 Worker 版本『5.3.31』不匹配。”,
“errorDescription”: “API 版本『5.4.296』與 Worker 版本『5.3.31』不匹配。”,
“errorDetails”: {},
“n8nDetails”: {
“time”: “2026/6/8,下午 9:14:28”,
“n8nVersion”: “2.23.2 (自架)”,
“binaryDataMode”: “filesystem”
}
}

關於您的 n8n 設定的資訊

  • n8n 版本:最新版
  • 資料庫(預設:SQLite):pinecone
  • n8n EXECUTIONS_PROCESS 設定(預設:own, main):own
  • 執行 n8n 的方式(Docker、npm、n8n cloud、桌面應用):docker
  • 作業系統:Windows 11

你好 @Sameer_Kalkeri

首先,重要的是要知道這個錯誤實際上並不是你整個 n8n 安裝或伺服器的問題。相反地,這是發生在 n8n 用來讀取和處理 PDF 檔案的特定「迷你工具」內部的衝突。這個工具就像一個翻譯器,幫助 n8n 理解 PDF 文件的內容。

問題發生是因為你的系統中兩個不同的部分正在使用這個 PDF 工具的不同版本。通常,n8n 有自己的內建版本,但如果你安裝了「社群節點」(例如用於 OCR 的 Tesseract),那個附加元件通常會帶來它自己的更新版本。當 n8n 試圖處理檔案時,這兩個版本會發生衝突,系統就會感到困惑。

技術術語「API 版本」和「Worker 版本」基本上指的是一個管理者和一個工作者。想像一下管理者用一種語言(版本 5.4)給出指示,但工作者只能理解稍微舊一點的語言(版本 5.3)。因為他們說的不是完全相同版本的語言,所以他們無法溝通,程序就會崩潰。

要修正這個問題,最簡單的解決方案是尋找任何與 PDF 或 OCR 相關的社群安裝節點,特別是 Tesseract 節點。如果你安裝了 Tesseract,請試著將其降級到版本 1.3.0。這個較舊的版本不使用衝突的 PDF 工具,這樣可以消除衝突,讓你的工作流程重新順利運行。

在你的具體情況下,由於你正在從 Google Drive 下載檔案並將其發送到向量儲存庫,你很可能在處理 PDF。因為這個衝突在整個 n8n 執行個體中全局發生,即使你在這個特定工作流程中沒有使用 Tesseract 節點,但在你帳戶上的任何地方安裝了它都可能觸發這個錯誤。

這樣有幫助嗎?

hi @Sameer_Kalkeri
根據 GitHub,這個錯誤已在 2.23.4 版本中修復,您目前是哪個版本?
在確認穩定版本後,不要使用 Beta,請取消發佈、停用節點、重新啟用,然後再次發佈。請把結果回覆給我們。

沒有安裝任何 tesseract..而且我在雲端和自架版本上都試過了

我已經試過了,我在自託管和雲端上都試過了,但仍然出現相同的錯誤

完美 @Sameer_Kalkeri
請分享你的工作流程,複製並貼上到這裡,但要移除敏感資料。

@Sameer_Kalkeri

請點擊每個帶有紅色符號的節點,並發送每個節點的照片

here you go:

@Sameer_Kalkeri
感謝你的分享!

將所有服務更新到相同的映像,重啟所有 docker 容器 docker compose pull docker compose up -d,並確認所有版本相同 docker compose ps
docker exec -it <container_n8n> n8n --version
docker exec -it <container_worker> n8n --version

預設資料載入器節點文件 | n8n 文件

請告訴我們是否成功。

謝謝,重新啟動後…有效了..現在出現 dommatrix 錯誤。

@Sameer_Kalkeri 這是在 Node.js/self-hosted 環境中讀取 PDF 的程式庫出現的缺陷。

那我需要做什麼?

@Sameer_Kalkeri
使用 n8n 版本 1.100.1

我為什麼要降級它?

這會影響我其他的工作流程

此錯誤是您佇列模式中 n8n 元件之間的版本不匹配,主程序在 5.4.296,而工作程序在 5.3.31。在佇列模式中,主實例、工作程序和任何 webhook 處理器都必須執行完全相同的 n8n 版本,但這裡其中一個沒有與其他程序一起升級。

修正方法:讓每個容器執行相同的映像標籤。如果您在 compose 檔案中固定了版本,請將所有版本(主實例和工作程序)一起更新,然後重新建立,或如果您使用 :latest,通常的原因是某個容器拉取的映像比另一個更新,所以請在整個堆棧上執行 docker compose pull 然後 docker compose up -d --force-recreate,讓它們都落在相同的建置版本上。重新啟動後,確認兩者報告的版本相同。

今後要避免的做法:在所有元件上固定明確的版本標籤,而不是使用 :latest,這樣部分拉取就不會讓您的工作程序落後於主程序。這樣的不匹配可能會導致執行行為不一致或以令人困惑的方式失敗,因此值得將它們鎖定到相同的版本。您使用 Docker compose 嗎?您最近是否只升級了堆棧的一部分?

@Sameer_Kalkeri

歡迎加入社群!

這個問題看起來類似於之前的討論

n8n 1.98 後出現的已知迴歸問題,當時 pdfjs-dist 升級到需要瀏覽器 API(如 DOMMatrix)的版本 — 在 GitHub 上開了多個相關議題(#16593、#16438、#16422)。

解決方法:跳過 Document Loader 處理 PDF,改用包含 pdf-parse npm 套件的 Code 節點。在環境變數中設定 NODE_FUNCTION_ALLOW_EXTERNAL=pdf-parse,在 Code 節點中提取文字,然後直接將提取的文字傳入 Vector Store Insert。

如果你能分享你的工作流程 JSON,這樣我們可以確認你是否遇到同樣的問題,那就太好了。

歡迎加入 n8n 社群 @Sameer_Kalkeri
更新你的實例到 v 2.23,確認 Node.js 版本是最新的,如果都沒有解決的話,考慮使用專用的 PDF 文字提取節點(例如 PDF to Text)或使用 pdf-parse 或 pdfjs-dist 等函式庫的程式碼節點,這些不依賴瀏覽器 API 就能運作。

我是初學者,能否請你一步步引導我…這些術語太專業了

@Sameer_Kalkeri
作為初學者,建議除了學習以下文檔來支持您外,還要完成社區課程 1 和 2,

更新執行個體 n8n Hosting Documentation and Guides | n8n Docs
替換舊的 read pdf Extract From File | n8n Docs
官方 pdf 文字提取範例 Extract text from a PDF file | n8n workflow template
如果要使用 code node Code node documentation | n8n Docs
啟用外部模組 Enable modules in Code node | n8n Docs

如果可以的話,請分享您的 json(不含敏感資料),以便我們更好地了解您的情況。