yarn安装私有依赖包,报错unexpected end of file问题

解决参考:https://github.com/yarnpkg/yarn/issues/7521

问题描述:私有依赖包发布最新版本后重新在项目中安装报错指出:该依赖的tzg文件报错——unexpected end of file

解决过程:

1. 删除yarn.lock和package-lock.json文件后,重新yarn install,报错:找不到tslib(正好是该私有依赖包的一个依赖模块);

2. yarn --registry https://registry.npmjs.org 指定yarn镜像地址到npm安装地址(此时项目中yarnrc文件中指定了私有依赖包的地址为阿里云效的镜像),安装成功,并能正常启动编译打包等操作。

此时发现yarn.lock中的私有依赖包的地址仍然是yarnrc文件中指定的地址,此外的其他包的地址都是https://registry.npmjs.org/XXX;

3. 其他人使用该yarn.lock文件重新安装依赖也都没有问题,但在Jenkins上使用该yarn.lock文件来拉取依赖仍旧报错,该私有依赖的tzg文件报错——unexpected end of file

4.在Jenkins上清理yarn缓存(yarn cache clean),再次拉取依赖,操作成功。

5.但是过了一段时间后,切换Jenkins的node,使用之前安装失败的yarn.lock文件也可以拉取远程依赖了。。。

根据操作和结果猜测,是yarn安装私有依赖库时,该yarn镜像的服务崩溃,导致拉不到远程依赖包,调整yarn.lock(删除yarn.lock,指定yarn镜像地址来安装依赖【 yarn --registry https://registry.npmjs.org 】 生成新的yarn.lock再推到远程用于部署时的依赖安装指引。

将本地/Jenkins的yarn缓存清理(yarn cache clean),再进行yarn( install)安装依赖后进行项目打包。

你可能感兴趣的:(前端部署,前端,javascript,大数据)