2017-08-13 54 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链接)