npm、yarn、pnpm 设置最新国内镜像源(附官方镜像源和最新阿里源),以及 nrm 的使用教程
阿里最近(指的是 2022 年~~哈哈)更换了淘宝镜像的域名,原域名的 SSL 证书已经过期了(2024/01/22),最近使用旧 淘宝镜像 的应该都遇到 Error: certificate has expired 了吧,遇到了可以看下这个解决方案~
npm
查询源
npm get registry
设置源
# 国内 淘宝 镜像源
npm config set registry https://registry.npmmirror.com/
# 官方镜像源
npm config set registry https://registry.npmjs.org/
pnpm
查询源
pnpm get registry
设置源
# 国内 淘宝 镜像源
pnpm config set registry https://registry.npmmirror.com/
# 官方镜像源
pnpm config set registry https://registry.npmjs.org/
yarn
查询源
yarn config get registry
设置源
# 国内 淘宝 镜像源
yarn config set registry https://registry.npmmirror.com/
# 官方镜像源
yarn config set registry https://registry.yarnpkg.com/
镜像源集合
新增 华为
、清华
、网易
等镜像地址
请根据当前网络选择最佳镜像。
{
"npm": "https://registry.npmjs.org/",
"yarn": "https://registry.yarnpkg.com/",
"tencent": "https://mirrors.cloud.tencent.com/npm/",
"cnpm": "https://r.cnpmjs.org/",
"taobao": "https://registry.npmmirror.com/",
"npmMirror": "https://skimdb.npmjs.com/registry/",
"ali": "https://registry.npm.alibaba-inc.com/",
"huawei": "https://mirrors.huaweicloud.com/repository/npm/",
"163": "https://mirrors.163.com/npm/",
"ustc": "https://mirrors.ustc.edu.cn/",
"tsinghua": "https://mirrors.tuna.tsinghua.edu.cn/"
}
使用 nrm 切换镜像源
安装
npm install nrm -g
# or
sudo npm install nrm -g
使用
nrm ls
- 列出所有的镜像源或查看当前使用的源
nrm ls
nrm <add | del> <registry-name> [registry url]
- 添加或删除镜像源
# 添加源
nrm add testRegistry https://baidu.com/
# 删除源
nrm del testRegistry
nrm use <registry-name>
- 使用源
nrm use taobao
nrm test
- 测试所有镜像源的速度
nrm test
总结
清除缓存
npm cache clean --force
设置后 yarn
不生效?
yarn
版本 1.22.22
yarn
并未读取当前 项目目录 或用户(~/.npmrc
)目录下的 .npmrc
文件的 registry
字段,在查询 yarn
v1 官网和相关 issue
未发现相关描述
yarn
v1.x 版本中仍会读取 .npmrc
的相关字段,但会优先使用 .yarnrc
中的值,由于 yarn config
中的 registry
字段无法删除(delete
后仍有默认值),在项目外只能使用命令更改,或修改 .yarnrc
。至于未读取当前项目下的 .npmrc
中的 registry
暂未知。
nrm use
时做了什么?
可以看出
nrm
更改的是~/.npmrc
文件