是的,你需要做的就是列出你的叉子作爲存儲庫來使用,Composer會自動包含叉子而不是原始包裝。 From the documentation
如果你正在使用你的項目一定的圖書館,你決定 改變的東西在圖書館,你會希望你的項目使用 修補版本。如果該庫位於GitHub上(此時大多數情況下爲 ),則可以簡單地將其分叉,然後將更改推送到您的分支。之後,您更新項目的composer.json。您所有的 要做的就是將您的分叉添加爲存儲庫並更新版本 約束以指向您的自定義分支。
一個例子,其中有人修補了Monolog。然後他們告訴Composer使用他們的存儲庫。
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/igorw/monolog"
}
],
"require": {
"monolog/monolog": "dev-bugfix"
}
}
作曲家將掃描所有可用的版本中https://github.com/igorw/monolog
並使用它們優先於版本獨白的可在Packagist。
您還可以告訴Composer使用本地目錄而不是HTTP地址。
"repositories": [
{
"type": "vcs",
"url": "/documents/project/igorw/monolog"
}
],
這允許您開發庫,在另一個項目中使用它並測試它,而不必在每次編輯和測試之間推送到Github。
當我最初閱讀本文檔時,遇到了以下問題。但看完這篇文章後:http://en.mnapoli.fr/overriding-dependencies-with-composer/我終於明白了。 – pthurmond