浅析npm报错ENOTFOUND npm ERR! network request to https://npm.***.com/*** failed 及 .npmrc 文件的作用、npm --verbose命令
1、npm报错:
今天看个项目,执行 npm install 安装依赖时报错:
84 error code ENOTFOUND
85 error errno ENOTFOUND
86 error network request to https://npm.***.com/@umijs%2fpreset-react failed, reason: getaddrinfo ENOTFOUND npm.***.com npm.***.com:443
87 error network This is a problem related to network connectivity.
87 error network In most cases you are behind a proxy or have bad network settings.
87 error network
87 error network If you are behind a proxy, please make sure that the
87 error network 'proxy' config is set properly. See: 'npm help config'
ENOTFOUND npm ERR! network request to https://npm.zhonganonline.com/@umijs%2fpreset-react failed
意思就是说找不到这个镜像注册地址。
为什么会有这种情况,npm安装镜像地址不都是从 npm 里下载的吗?所以看下项目结构,发现了 .npmrc 文件
2、.npmrc 文件的作用
有些项目根目录下可能有个.npmrc的文件,点开一看只有一句话:registry=http://registry.npm.xxxx.com
就是npm 仓库镜像地址
在npm i 的时候,如果项目根目录下有这个文件,会自动从这个镜像地址下安装node_modules,不需要手动设置镜像地址。
所以问题就是 .npmrc 这个文件里的镜像地址有问题,删掉这个文件即可。
3、npm配置与 .npmrc 文件
(1)npm cli 提供了npm config 命令进行 npm 相关配置,通过npm config ls -l 可查看npm的所有配置,包括默认配置。
(2)npm config set 进行配置项修改,使用命令配置后会把配置文件中的注释全部删除
(3)一些常用配置:
proxy、https-proxy :指定npm使用代理
registry 指定npm下载安装包的源 默认:https://registry.npmjs.org/
npm config set prefix $dir
(4)npmrc文件:除了使用 cli 的 npm config 命令来显示修改npm配置外,还可以通过 .npmrc 文件直接修改配置。
4、npm --verbose命令
npm install --verbose,
在安装命令添加参数 --verbose
看打印详细信息
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律