開發composer 包所遇到的問題之,依賴的包報警告資訊

tu6ge-php發表於2020-11-28
依賴
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 協議》,轉載必須註明作者和本文連結
大多數知識,不需要我們記住,只需要認知即可

相關文章