编程语言
首页 > 编程语言> > PHP-作曲家不会用我的叉子

PHP-作曲家不会用我的叉子

作者:互联网

我正在尝试让作曲家使用我自己的图书馆叉子.

原始:https://github.com/KnpLabs/php-github-api
我的叉子: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"
}

在我的分叉存储库中,我同时创建了master和dev-master分支.我不清楚哪个是正确的,所以我都做到了.我也尝试过使用“ type”:“ vcs”并从URL中删除.git.两者均无效.我运行composer update,然后composer.lock文件仍然指向原始存储库URL,而不是我的URL.因此,当我运行composer install时,永远都不会得到更改.

我究竟做错了什么??

PS:我注意到我要分叉的库在composer.json文件中包含此文件:

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

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

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

更新2
我也尝试使用composer update –prefer-source,但仍然无法正常工作.

解决方法:

我解决了这个问题!

我已经在我的分支存储库中编辑了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提供有用的故障排除提示.

我在任何地方都没有找到有关此文档的任何文档,因此我对作曲家文档进行了更新:https://github.com/composer/composer/pull/4329

标签:github,composer-php,git,php
来源: https://codeday.me/bug/20191119/2039877.html