解决 npm 下载速度慢的问题

5,564 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

原因

  • 安装 Node 时,npm 包的默认下载地址就是:https://registry.npmjs.org/
  • 由于外网原因,常常出现下载很慢或者不能下载的情况,导致我们执行命令 npm install xxxx 下载资源包时常常失败。

解决方案

配置国内镜像源地址

使用方法

  • 临时使用:npm install xxx --registry=镜像源地址
  • 更改 npm 包默认下载地址:npm config set registry 镜像源地址

附上完整 .npmrc 配置文件

# 在服务端执行时可能需要最高权限执行
unsafe-perm=true
# 指定依赖的安装源
registry=https://registry.npm.taobao.org/
# 指定 node.js 的安装源,某些依赖包可能需要下载 node.js
disturl=https://npm.taobao.org/mirrors/node/
# 一些依赖包内部需要下载的依赖文件,以下变量会被相关依赖包读取到并使用
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
phantomjs_cdnurl=https://npm.taobao.org/mirrors/phantomjs/
electron_mirror=https://npm.taobao.org/mirrors/electron/
chromedriver_cdnurl=https://npm.taobao.org/mirrors/chromedriver/
operadriver_cdnurl=https://npm.taobao.org/mirrors/operadriver/
selenium_cdnurl=https://npm.taobao.org/mirrors/selenium/
node_inspector_cdnurl=https://npm.taobao.org/mirrors/node-inspector/
fsevents_binary_host_mirror=http://npm.taobao.org/mirrors/fsevents/
puppeteer_download_host=https://npm.taobao.org/mirrors/
sentrycli_cdnurl=https://npm.taobao.org/mirrors/sentry-cli/
sharp_binary_host=https://npm.taobao.org/mirrors/sharp/
sharp_libvips_binary_host=https://npm.taobao.org/mirrors/sharp-libvips/
sqlite3_binary_site=https://npm.taobao.org/mirrors/sqlite3/
python_mirror=https://npm.taobao.org/mirrors/python/
ps:
上述 `npm.taobao.org` 可全量替换为最新的淘宝镜像源 `npmmirror.com`。
如 registry=https://registry.npm.taobao.org/  ->  registry=https://registry.npmmirror.com/

参考资料