什么时候不建议使用淘宝NPM镜像

npm.taobao.org 淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10 分钟 一次以保证尽量与官方服务同步。

推荐使用的情况

  • 开发、部署(打包)环境都是国内服务器
  • 开发、部署(打包)环境默认都启用淘宝 NPM 镜像
  • 所有参与开发的人员都使用淘宝 NPM 镜像
  • 大于 90% 时间使用淘宝 NPM 镜像的用户

当开发环境、打包部署的环境都是国内服务器且默认都启用了镜像服务器的情况下,使用 NPM 镜像服务会大大加速 npm 下载速度。提高开发效率。

不推荐使用的情况

  • 开发、部署(打包)环境分布在 国内/国外
  • 有没使用 NPM 镜像的开发人员参与开发
  • 不同项目使用镜像的情况不同

为什么不推荐

  • 一次是我们前端主程使用了 NPM 镜像,走到我们 deploy 步骤的时候,在 AWS 服务器上面 npm i 不通过,因为 hash 验证失败
  • 一次是 GitHub Actions npm build 失败,都是很奇怪的错误。这个原因属于 不同项目使用镜像的情况不同,导致之前使用 NPM 镜像的项目的依赖缓存污染了新的未使用镜像的项目。

解决 npm install/npm run build 错误

对于 npm installnpm run build 因为包问题导致失败的一般解决方法:

rm -rf package-lock.json node_modules # 清理掉已下载的包和被污染的 packge-lock.json 文件
npm cache clean --force # 清理 npm 包缓存
npm i 重新下载依赖

Comments