为什么切换npm镜像后安装依赖总是404?

极客翠翠 阅读 14

我在公司网络用npm安装包时一直超时,按照网上的方法把registry切换到阿里云镜像了:npm config set registry https://registry.npm.taobao.org,但执行npm install还是报404错误,提示404 Not Found - "//registry.npm.taobao.org/lodash: Not found"。试过把yarn和pnpm的配置也改了,问题依旧…

后来发现.npmrc里竟然同时存在旧的registry地址和镜像地址,手动删除后还是不行。用npm config get registry看到当前配置是对的,但安装时请求的地址前面居然多了//registry.npmjs.org前缀?这到底是哪里配置冲突了?

我来解答 赞 7 收藏
二维码
手机扫码查看
1 条解答
司空文茹
问题应该出在镜像地址过期了。你用的 registry.npm.taobao.org 这个域名早就不能用了,阿里云npm镜像已经迁到新域名了,但很多人还在用旧教程里的地址,结果就是请求能发出去,但返回404。

你现在要做的就三步:

第一,把所有配置更新成新的镜像地址:
npm config set registry https://registry.npmmirror.com


第二,清掉本地缓存和配置残留:
npm cache clean --force
rm ~/.npmrc

如果你项目里有 .npmrc 文件也一起删了重来。

第三,验证下当前生效的地址:
npm config get registry

确保输出是 https://registry.npmmirror.com

这时候再跑 npm install 就正常了。另外推荐装个 nrm 工具管理镜像源,以后切换方便多了,不至于搞混。这破问题我上周刚帮同事踩完坑,真不是网络或权限的事,纯属地址写错了。
点赞 4
2026-02-10 12:03