
本文详解在企业内网环境下执行 npx create-nx-workspace 失败(报错 enotfound、getaddrinfo 失败)的根本原因及完整解决方案,涵盖代理配置核查、https 仓库地址修正、代理清除与验证步骤。
在使用 npx create-nx-workspace ng-mfe 初始化微前端工作区时,若遇到如下典型错误:
npm ERR! code ENOTFOUND npm ERR! errno ENOTFOUND npm ERR! network request to http://registry.npmjs.org/create-nx-workspace failed, reason: getaddrinfo ENOTFOUND iaccess.ril.com
这并非 Nx 或命令本身的问题,而是 npm 在尝试访问公共 registry(https://registry.npmjs.org/)时,因网络策略受限而解析失败——常见于企业内网环境,其中 DNS 被重定向至内部代理域名(如 iaccess.ril.com),但该域名无法正确解析或未配置为合法代理入口。
? 根本原因分析
错误中的 getaddrinfo ENOTFOUND iaccess.ril.com 明确表明:npm 当前配置了某个代理(极可能由公司 IT 策略自动注入),但该代理地址不可达或未启用 HTTPS 支持;同时,registry 地址仍被设为不安全的 http:// 协议(NPM 官方自 2021 年起已强制要求 HTTPS),进一步加剧连接失败。
✅ 正确解决方案(分步执行)
1. 清除无效代理配置(推荐首选)
运行以下命令彻底移除可能残留的代理设置(包括 HTTP 和 HTTPS 代理):
npm config delete proxy npm config delete https-proxy npm config delete registry
? 提示:即使你未主动设置过代理,某些企业域策略或安装工具(如 Node.js MSI 安装器)会静默写入代理,务必清除。
2. 显式设置安全 registry 地址
确保 registry 使用标准 HTTPS 地址:
npm config set registry https://registry.npmjs.org/
⚠️ 注意:必须是 https://(不是 http://),否则新版 npm 会拒绝请求。
3. 验证配置是否生效
执行以下命令检查当前有效配置:
npm config list
重点关注输出中:
- registry = "https://registry.npmjs.org/"
- proxy = undefined
- https-proxy = undefined
若仍有代理值,请重复第 1 步并重启终端(CMD/PowerShell/VS Code 终端需全新打开)。
4. 尝试重新创建工作区
清除缓存后重试(可选,增强可靠性):
npm cache clean --force npx create-nx-workspace@latest ng-mfe
✅ 成功标志:控制台开始下载 create-nx-workspace 包,并进入交互式初始化流程(选择包管理器、Nx 版本等)。
? 常见误区提醒
- ❌ 不要手动配置指向 http://registry.npmjs.org/ —— 强制降级 HTTP 将被 npm 拒绝;
- ❌ 不要在未确认代理可用性前盲目设置 proxy 或 https-proxy(尤其当 iaccess.ril.com 是内部网关而非公开代理时);
- ❌ 避免仅修改 .npmrc 文件却未刷新终端环境变量,npm config 命令才是权威配置方式。
? 补充:如确需通过公司代理访问外网
请联系 IT 部门获取支持 HTTPS 的代理地址及认证方式,再按规范配置:
npm config set proxy https://user:pass@your-corp-proxy:8080 npm config set https-proxy https://user:pass@your-corp-proxy:8080 npm config set registry https://registry.npmjs.org/
(注意:密码含特殊字符需 URL 编码;建议优先使用 NTLM 或 PAC 配置,而非明文凭据)
完成上述步骤后,npx create-nx-workspace 即可稳定拉取最新 Nx CLI 并成功初始化微前端工作区。










