◆
npm 镜像源查看与设置方法
国内直连 npm 官方源装包,慢和超时是常态。换成国内镜像后 npm install 的速度差距通常是几倍甚至十几倍,这是新机器配环境第一件要做的事。
但镜像源不能一直开着不管:镜像是官方源的只读副本,npm publish 发包必须指回官方源,否则会因为没有发布权限而失败;镜像同步也有延迟,刚发布的新版本可能一时拉不到。下面的命令覆盖了查看当前源、切镜像、切回官方源,以及只对单次安装临时指定源这几种情况。
查看、设置镜像源
get registry 先确认现在用的是哪个源,改完再执行一次就能验证是否生效。set registry 是持久化的,会写进 ~/.npmrc,之后所有安装都走这个地址。
# 查看当前镜像源
npm config get registry
# 设置为淘宝镜像源
npm config set registry https://registry.npm.taobao.org
# 设置为npm包镜像源,发布npm包时需设置为这个
npm config set registry https://registry.npmjs.org
使用淘宝镜像源安装包
不想改全局配置时,用 --registry 只对这一次命令指定源。适合平时保持官方源、只在装某个大包时临时走镜像加速的场景。
npm install [packageName] --registry https://registry.npm.taobao.org
注意事项
- 淘宝源的域名已经从
registry.npm.taobao.org迁到了registry.npmmirror.com,旧域名的证书早就到期、只靠重定向维持,现在配新机器建议直接写新域名。 - 换源不影响已经装好的
node_modules,但会影响 lock 文件:package-lock.json里记录的resolved字段带着源地址,团队成员用的源不一致时这个文件会反复产生无意义的 diff。统一约定一个源,或者在项目里放一份.npmrc提交进仓库。 - 私有包走的是私有仓库地址,全局换成公共镜像后会拉不到,需要用 scope 单独指定,例如
npm config set @团队名:registry <私有源地址>。

还没有留言,来发表第一条吧~