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
請點擊每個帶有紅色符號的節點,並發送每個節點的照片
@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 就能運作。
我是初學者,能否請你一步步引導我…這些術語太專業了