php - Composer 不会使用我的 fork

标签 php git github composer-php

我正在尝试让 Composer 使用我自己的库分支。

原文:https://github.com/KnpLabs/php-github-api 我的 fork :https://github.com/TransitScreen/php-github-api

我只需将其添加到 composer.json 即可使用 composer 安装原始版本:

{
    "require": {
        "knplabs/github-api": "~1.4"
    }
}

我关注了the instructions在文档中,并将其更改为:

{
    "repositories": [
        {
            "type": "git",
            "url": "https://github.com/TransitScreen/php-github-api.git"
        }
    ],
    "require": {
        "knplabs/github-api": "dev-master"
    },
    "minimum-stabilitiy": "dev"
}

在我的分支存储库中,我同时创建了一个 masterdev-master 分支。我不清楚哪个是正确的,所以我都做了。我还尝试使用 "type": "vcs" 并从 URL 中删除 .git。两者都不起作用。我运行 composer update 然后 composer.lock 文件仍然指向原始 repo URL,而不是我的。所以当我运行 composer install 时,我从来没有得到我的更改。

我做错了什么??

PS:我注意到我试图 fork 的库在它的 composer.json 文件中有这个:

"extra": {
    "branch-alias": {
        "dev-master": "1.4.x-dev"
    }
}

我还没有找到任何文档来解释别名可能产生的影响。例如,我的 fork 存储库是否应该有一个 1.4.x 分支??

更新 1 顺便说一句,我知道我的一些配置一定是正确的,因为我在删除缓存后运行 composer update 时,有一刻我看到它正在读取我的(正确的)的 composer.json ) 存储库。但是之后 composer.lock 仍然指向原来的(不正确)。

更新 2 我也尝试过使用 composer update --prefer-source 但它仍然不起作用。

最佳答案

我找到问题了!

我在我的 fork 存储库中编辑了 composer.json 文件......它看起来像这样:

{
    "name": "knplabs/github-api",
    "type": "library",
    "description": "GitHub API v3 client",
    "homepage": "https://github.com/TransitScreen/php-github-api",
    "keywords": ["github", "gh", "api", "gist"],
    "license": "MIT",

但是我改成了这样:

{
    "name": "transitscreen/php-github-api",
    "type": "library",
    "description": "GitHub API v3 client",
    "homepage": "https://github.com/TransitScreen/php-github-api",
    "keywords": ["github", "gh", "api", "gist"],
    "license": "MIT",

我认为名称需要与新存储库相匹配,但我错了。当我将其改回原来的名称时,一切正常!

非常感谢@Tomas 提供了有用的故障排除提示。

我在任何地方都没有看到任何关于此的文档,所以我发布了对 Composer 文档的更新:https://github.com/composer/composer/pull/4329

关于php - Composer 不会使用我的 fork ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31818032/

相关文章:

php - sql 查询在 php 中给出错误

git - 将 Github 的更改 pull 到 Github

github - 如何在 GitHub 操作中使用工作目录?

javascript - 如何限制 git 跟踪/更新本地更改?

php - 使用 php 将 HTML 输出转换为纯文本

php - MySql 的 ID 值在 while 循环中丢失

php - 格式化一个数字,在 php 中保持其符号

git - 克隆密码中带有斜线的存储库

linux - 在 git init 上自动添加 Remote

github - VS2019 的 Nuget 包源 : global nuget. 配置?