2017-08-13 79 views
-1

這是我composer.json:如何在Composer中使用替代存儲庫來獲得依賴關係的依賴關係?

{ 
    "require": { 
     "spipu/html2pdf": "dev-master" 
    } 
} 

現在,spipu/html2pdf取決於tecnickcom/TCPDF,但我想用patch-1 branch of divinity76/TCPDF作爲tecnickcom/TCPDF的替代品,我該怎麼辦呢?

(這裏的問題:有一個unicode漏洞限制在tecnickcom/TCPDF,使得它不可能產生與Unicode文件名的PDF文件,如aæøå.pdfi have sent a fix pull request,但它已經超過2個月,沒有從上游維護者回應? :(我試着發電子郵件tecnickcom過,但沒有任何反應)

+1

https://stackoverflow.com/a/13500676/4621324 – Axalix

+0

@Axalix似乎是相關的,但將我的composer.json更改爲[this](https://pastebin.com/raw/TRBim yRg),在運行'composer update'時出現[this](https://pastebin.com/raw/pLxuArPf)錯誤...任何想法? – hanshenrik

回答

0

與Axalix在評論發佈的鏈接,我發現我可以代替1個庫與另一個,在composer.json的repositories財產,但是,這種替代品版本庫不會加載原始版本庫中尚不存在的標籤,只是分支。但是,spipu/html2pdf特別要求版本~6.2,這會使作曲家拒絕安裝所有任何DEV-分支......但與as關鍵字,我可以代替任何一間分行與任何版本太多,考慮到這一點,這似乎工作:

{ 
    "repositories": [ 
     { 
      "type": "vcs", 
      "url": "https://github.com/divinity76/TCPDF.git" 
     } 
    ], 
    "require": { 
     "spipu/html2pdf": "dev-master", 
     "tecnickcom/tcpdf": "dev-patch-1 as 6.2.13" 
    } 
} 

我發現分支版本替換解決方案(在as關鍵字)這裏http://mnapoli.fr/overriding-dependencies-with-composer/

在這個答案庫替換解決方案:https://stackoverflow.com/a/13500676/1067003(由Axalix鏈接)