本文由composer教程欄目給大家介紹一種簡便的給 composer 包打補(bǔ)丁的方法,希望對需要的朋友有所幫助!
開發(fā)過程中,我們經(jīng)常會(huì)遇到某個(gè) composer 包有 bug,或者需要改動(dòng)部分功能以滿足自己的業(yè)務(wù)。如果你和包的發(fā)布者聯(lián)系,一般不會(huì)很快得到更新,非共性的需求,基本也會(huì)被忽略掉。
這種情況下,需要我們自己解決了,有些包是解決類似需求的,比如 cweagans/composer-patches,但用起來還是很麻煩。
我個(gè)人實(shí)踐中用了一種很簡便的方法,原理也很簡單,其實(shí)就是自己 COPY 出來需要改動(dòng)文件,然后 composer 執(zhí)行包的安裝或更新后會(huì)自動(dòng)覆蓋掉原有的。
方法如下:
1、先進(jìn)入 vendor/ 某個(gè)包的目錄下,進(jìn)行代碼修改,注意修改期間,不要執(zhí)行 composer 的安裝或更新命令。
2、工程目錄下創(chuàng)建目錄 patches,保持包的修改文件路徑,COPY 放在 patches 下面,參照下圖:
3、復(fù)制下面代碼到 composer.json 的 scripts -> post-autoload-dump 下:
"@php?-r?"passthru(sprintf(PHP_OS==='WINNT'?'xcopy?%s?/D?/E?/C?/R?/H?/I?/K?/Y':'cp?-rfv?%s',?'patches/*?vendor/'));""
這樣就可以了。
本文系轉(zhuǎn)載,原文地址:https://learnku.com/articles/70440
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END
喜歡就支持一下吧
相關(guān)推薦