gpt4 book ai didi

php - 阻止在 PHP Composer 中安装包以使用包的分支

转载 作者:可可西里 更新时间:2023-11-01 00:09:34 26 4
gpt4 key购买 nike

我正在与 Behat 和 Composer 合作开展一个项目。我必须为 Mink 和 Mink Selenium 2 驱动程序创建一个分支和补丁来处理弹出窗口。目前,那些管理我 fork 的 repo 协议(protocol)的人仍在审查这些补丁。所以与此同时,我想改用我的 fork 版本。

我已经将我的存储库添加到 composer 并且它们正在被拉入。但是“behat/mink”包仍在安装中,因为“behat/mink-extension”需要它。问题是它也可以使用我的 fork 。所以我想让它只包含我的而不是“behat/mink”包。

我可以这样做吗?我可以阻止一个包的必需包以支持我的分支吗?

谢谢!

最佳答案

是的,您需要做的就是将您的复刻列为要使用的存储库,Composer 将自动包含该复刻而不是原始包。 From the documentation

If you are using a certain library for your project and you decide to change something in the library, you will want your project to use the patched version. If the library is on GitHub (this is the case most of the time), you can simply fork it there and push your changes to your fork. After that you update the project's composer.json. All you have to do is add your fork as a repository and update the version constraint to point to your custom branch.

有人修补了 Monolog 的例子。然后他们告诉 Composer 使用他们的存储库。

{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/igorw/monolog"
}
],
"require": {
"monolog/monolog": "dev-bugfix"
}
}

Composer 将扫描 https://github.com/igorw/monolog 中可用的所有版本,并优先使用它们而不是 Packagist 上可用的 Monolog 版本。

您还可以告诉 Composer 使用本地目录而不是 HTTP 地址。

"repositories": [
{
"type": "vcs",
"url": "/documents/project/igorw/monolog"
}
],

这允许您开发库,在另一个项目中使用它并测试它,而无需在每次编辑和测试之间推送到 Github。

关于php - 阻止在 PHP Composer 中安装包以使用包的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17531909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com