解决npm与cnpm不同步的问题

808 阅读1分钟

在本地打包是没问题的,提交ci打包报错:

npm ERR! notarget No matching version found for @krpano/js-tools@1.1.8.

这时候我跑到npm查看,发现的确存在这个版本。

检查服务器使用的镜像源:

npm config get registry  // 查看npm当前镜像源

yarn config get registry  // 查看yarn当前镜像源

结果发现使用的是淘宝源:

    https://registry.npm.taobao.org/

淘宝源 看看有没有这个版本,结果发现确实没有这个版本,现在还是一个比较旧的版本。

虽然淘宝源号称10分钟同步一次,但实际上并没有同步到我的包。这时候需要将npm包同步到淘宝源这里。

解决方法一:切换源

这操作会影响公司其他团队的项目,除非是自己团队写的CI,部署在自己的服务器上。并且拉取依赖的速度非常慢,影响打包速度。

npm config set registry https://registry.npmjs.org

yarn config set registry https://registry.yarnpkg.com 

更好的方法:同步npm 到 cnpm,操作如下

  1. 去官网搜索需要同步的包

01.png

  1. 点击如图 SYNC按钮

02.png

  1. 开始同步

03.png

  1. 同步成功

04.png

这时候再去重新打包,发现没有报错了。其它源同理。