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

博客围绕私有依赖包发布新版本后,在项目中重新安装报错的问题展开。详细记录了解决过程,包括删除相关文件、指定镜像地址、清理缓存等操作。推测是yarn镜像服务崩溃导致拉不到远程依赖包,给出了调整yarn.lock和清理缓存等解决办法。

解决参考: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)安装依赖后进行项目打包。

PS:如有高见,敬请指教!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值