n8n add npm module 發生 Module ‘ioredis‘ is disallowed,getaddrinfo EAI_AGAIN
解決方案
EAI_AGAIN:Docker build 階段 DNS 解析不穩
在 docker-compose.yml
文件中添加 network: host
配置以固定 DNS 解析。若公司內部有特殊 DNS 設置,請優先採用公司規定的 DNS 配置。
Module ‘ioredis’ is disallowed:n8n Function/Code 節點限制外部套件
請在docker-compose.yml新增以下env
- NODE_PATH=/usr/local/lib/node_modules
- NODE_FUNCTION_ALLOW_EXTERNAL=ioredis
- NODE_FUNCTION_ALLOW_BUILTIN=*
注意事項:
- 配置 Node.js 模塊路徑及權限設置
- 關鍵參數為
NODE_FUNCTION_ALLOW_BUILTIN
,而非N8N_NODE_FUNCTION_ALLOW_BUILTIN
,請留意區分
測試方法
1. 驗證容器內模塊安裝
docker exec -it <n8n-container> sh
npm root -g
ls -l /home/node/.n8n/node_modules/ioredis || true
2. 測試 Node.js 模塊加載
以 ioredis
模塊為例,執行以下命令應返回 true
:
node -e "console.log(!!require('ioredis'))"