遇到问题
我写了一个npm包,发布在npm上面,在本地打包是没问题的,提交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,操作如下
- 去官网搜索需要同步的包
- 点击如图 SYNC按钮
- 开始同步
- 同步成功
这时候再去重新打包,发现没有报错了。其它源同理。
推荐文章: