描述問題/錯誤/提問
我在 Windows 上本機運行 n8n。
我正在嘗試安裝 xlsx 套件,但出現以下錯誤:
npm ERR! code EALLOWREMOTE
npm ERR! 已停用「遠端」類型套件的擷取
npm ERR! 拒絕擷取 “xlsx@https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz”
有人之前遇過這個問題嗎?
對於本機 n8n 設置,有推薦的方式來安裝 xlsx 套件嗎?

錯誤訊息是什麼(如有)?
請分享您的工作流
(在您的畫布上選擇節點,使用鍵盤快捷鍵 CMD+C/CTRL+C 和 CMD+V/CTRL+V 來複製和貼上工作流。)
分享最後一個節點返回的輸出
關於您的 n8n 設置的資訊
- n8n 版本:
- 資料庫(預設:SQLite):
- n8n EXECUTIONS_PROCESS 設置(預設:own, main):
- 透過以下方式運行 n8n(Docker、npm、n8n 雲端、桌面應用程式):
- 作業系統:
感謝您讓我們了解這一點,我們已建立 CV-12 作為內部開發票證來進行調查。
我們已檢查了這個問題,但無法確認這是一個錯誤。目前我們已關閉內部工單,但如果看起來確實是一個錯誤,我們的審核團隊將再次標記它。
歡迎 @dit!
EALLOWREMOTE 錯誤是 Windows 上 n8n 桌面應用程式的設計特性 — 它會沙箱化 npm 套件安裝,並阻止從遠端登錄檔(如 CDN)擷取套件。嚴格來說這不是錯誤,只是本機桌面環境的限制。
解決方案:如果你只需要讀取/寫入 Excel 檔案,就不需要 xlsx 社群節點。內建的「試算表檔案」節點本身就能處理 .xlsx 檔案,無須額外安裝。如果你在程式碼節點中特別需要 xlsx npm 套件,可改用 npx n8n 或 Docker 來執行 n8n,而不用桌面應用程式 — 該環境沒有遠端擷取的限制。
感謝你的解釋!
不過,我認為我的問題有點不同。我不是在試著安裝 xlsx 套件或使用試算表檔案節點。
我只是在嘗試使用以下命令安裝 n8n 本身:
npm install -g n8n
安裝失敗,錯誤為:
npm ERR! code EALLOWREMOTE
npm ERR! 已禁用擷取「remote」類型的套件
npm ERR! 拒絕擷取「xlsx@https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz」
所以看起來安裝程式在 n8n 安裝期間會自動嘗試擷取 xlsx 套件。我從未手動安裝 xlsx。
我也嘗試執行:
npx n8n
但我得到相同的錯誤。
我的環境:
- OS:Windows
- Node.js:v24.18.0
- npm:12.0.1
有人遇過這個問題嗎?這是 Node.js/npm 的相容性問題,還是有另一個相依性導致安裝程式從 SheetJS CDN 擷取 xlsx?
@dit
您可以通過在安裝期間明確允許遠程獲取來解決此問題。在終端機中執行以下命令:
適用於 Windows (命令提示字元/PowerShell):
npm install -g n8n --allow-remote-fetch
如果這不起作用,您可以先全域設定配置:
npm config set allow-remote-fetch true
npm install -g n8n
Plaintext
嘿!你遇到了 npm 為了安全而過度保護的典型情況。
`EALLOWREMOTE` 錯誤意味著你的 npm 客戶端已配置為防止直接從遠程 URL(如 SheetJS CDN)擷取套件。這是一項安全措施,但它完全阻止了 `xlsx` 套件的安裝。
以下是解決此問題並使其適用於本地 Windows n8n 設置的逐步方法:
**1. 在 npm 中暫時啟用遠程擷取**
打開命令提示字元(CMD 或 PowerShell)並運行:
`npm config set allow-remote-fetch true`
**2. 為外部套件創建專用目錄**
將外部套件與核心 n8n 檔案分開存放是一種很好的做法。
```cmd
mkdir C:\n8n_external_packages
cd C:\n8n_external_packages
3. 初始化 npm 並安裝套件 在此新目錄中,運行:
DOS
npm init -y
npm install xlsx
4. 配置 n8n 以允許並找到套件 你需要告訴 n8n 在代碼節點中允許外部模組,以及在 Windows 機器上查找它們的位置。在啟動 n8n 之前,在終端中設置這兩個環境變數:
DOS
set NODE_FUNCTION_ALLOW_EXTERNAL=xlsx
set NODE_PATH=C:\n8n_external_packages\node_modules
n8n start
5. 還原 npm 配置(推薦) 為了安全起見,安裝套件後,你可以重新啟用遠程擷取阻止:npm config set allow-remote-fetch false
啟動 n8n 後,你現在可以在代碼節點中使用 const XLSX = require('xlsx'); 而不會出現任何問題!
附言 我實際上透過 n8n Mastery / Sensei(我為 n8n 社區剛剛構建的免費、遊戲化 AI 助手)運行了你的確切論壇帖子,它正確診斷了 EALLOWREMOTE CDN 阻止並生成了此修復!
我在下面附加了其完整分析的螢幕截圖。如果你想立即調試此類工作流程和 npm 錯誤而不用離開 n8n 畫布,可以在這裡查看:https://n8n-sensei-app-nu.vercel.app/
希望這能幫助你恢復電子表格自動化!