◆

npm 镜像源查看与设置方法

2023-02-02 01:370

国内直连 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 <私有源地址>。
💬留言板0

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

PAGE LOAD / LIVEnpm 镜像源查看与设置方法加载中