有時候我們會遇到線上的 composer 開發包功能不是很完善,但是很多功能我們還能夠用到,我們只能自己去修改一部分代碼讓這個包能夠去運行,同時不使用 composer 進行更新,否則代碼會再更新的時候再次被覆蓋掉。
下邊是以下幾個步驟:
在 composer.json 中去掉調用,一般情況下,去掉包,包在進行更新的時候會自己刪除。
在 vendor/composer/installed.json 中去掉這個已經安裝的引用,這樣在再次安裝的時候這個包就會保留到本地,不會被刪除掉。
在 composer.json 中加入對這個包的命名空間的映射,因為composer 的包都會自動進行加載,如果沒有進行加載,則也是找不到這個文件,所以需要對命名空間做下映射。
比如我們引用一個第三方包,他的命名空間是這樣的:
- "autoload": {
- "psr-4": {
- "Imvkmark//L5Thumber//": "src/L5Thumber"
- }
- },
我們需要在根目錄下的 composer.json加入
- "autoload": {
- "psr-4": {
- "Imvkmark//L5Thumber//": "vendor/imvkmark/l5-thumber/src/L5Thumber",
- }
- },
這樣便能夠對包的命名空間進行映射,同時進行修改了。
更新 composer.json
其實到這里已經結束,并且完成了自己的功能了。
這樣我們可以不受顧忌的修改代碼,并且同時給作者發送推送請求,等待作者更新這個代碼,然后我們再改回來,這樣我們又能夠使用最新的庫了。
| 
 
 | 
新聞熱點
疑難解答