开发composer 包所遇到的问题之,依赖的包报警告信息

关系梳理

依赖
tu6ge/laravel-form-item pascaldevink/shortuuid
pascaldevink/shortuuid:2.3 ramsey/uuid:^3
ramsey/uuid:3.x moontoast/math (被遗弃的包)
pascaldevink/shortuuid:3.x ramsey/uuid:^4
ramsey/uuid:4.x brick/math

我在开发 laravel-form-item 包的时候,需要用到一个包 pascaldevink/shortuuid 用来生成不重复的随机字符串,当时只有 2.3.0 版本,还没有发布 3.0.0 , 如果这个时候,别人安装我的包的时候,会提示一个 composer 的警告信息:moontoast/math 包已经被遗弃,请使用 brick/math 包。然后我就去 shortuuid 的 issue 里面找相关的问题,发现别人最近也给官方提过,官方的回复是,这是引用的第三方包 ramsey/uuid 导致的,当时的 pascaldevink/shortuuid 版本是 2.3 使用的 ramsey/uuid 版本是 ^3 ,虽然报了这个警告,但是并没有使用到 math 这个包的任何方法,在已经发布的 ramsey/uuid:^4 版本中,已经使用修复了这个警告信息,但是为了保障包的使用者安全的升级, 如果要在pascaldevink/shortuuid的依赖项中升级 ramsey/uuid 的大版本号,则需要将 shortuuid 的大版本号也升级一下,这其实是一种开源项目之间的契约精神,都是为了遵守 语义化版本

所以说,说下我的解决办法,我关注了这个别人提交的这个 issue,也关注了这个项目的 Releases 事件,以后作者发布了新版本或者对这个 issue 进行了回复,则会给我发邮件提醒。

至此,事情发生后一周的今天,我收到了作者发行新版本的信息,然后立即着手修改我的项目的依赖。

本作品采用《CC 协议》,转载必须注明作者和本文链接
大多数知识,不需要我们记住,只需要认知即可
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!