一、事出场景
公司运维搭建的发布平台,发布时一直都是好好地,突然今天发布就不行了,报错信息如下
二、解决思路
可以发现,is-core-module@2.16.1这个版本拉不下来,看到500,很多小伙伴肯定觉得是后端的问题,其实不一定
尝试将http://192.168.1.202:4873/is-core-module/-/is-core-module-2.16.1.tgz复制到地址栏打开,发现访问不了
于是去npm官网查看这个包,发现最新的版本是昨天刚发布的,可能是这个原因导致的
但是is-core-module这个包在package.json中没有找到,说明它是某个包的子包,所以我们要锁定这个包的版本
如果是用yarn
"resolutions": {
"is-core-module": "2.15.1"
},
如果是用npm
"overrides": {
"is-core-module": "2.15.1"
}
再试一次,就发布成功了
过了大概半个小时,http://192.168.1.202:4873/is-core-module/-/is-core-module-2.16.1.tgz在地址栏又可以打开了,所以将锁定版本的配置项去掉了,再发布一次,又成功了。至此,可以断定,是npm的延时导致的构建失败,解决方案要么就是等一会再发一次,要么就是添加配置项,锁定一个旧的版本