Composer无法在Yii2 composer.json中找到新要求的包

时间:2015-04-01 16:15:52

标签: php github yii composer-php yii2

好的,我正在使用Yii2,我正在尝试向项目添加新的需求/库。可在此处找到所述库:https://github.com/cyphix333/SBBCodeParser

这是一个分叉项目,添加了composer.json

我尝试在项目主作曲家文件中添加它作为一项要求,即:

"require": {
    //..........
    "samclarke/sbb-code-parser": "*"
},

然后我跑了:

composer update

它只是抱怨无法找到包或其任何版本。

然后我删除了该行并尝试:

require samclarke/sbb-code-parser

我的Yii vendor文件夹中的文件位于:@app/vendor/samclarke/sbb-code-parser

我对作曲家很陌生,不知道我做错了什么,或者作曲家究竟应该根据包名知道从哪里获取文件。

1 个答案:

答案 0 :(得分:0)

可以在Packagist找到包samclarke/sbb-code-parserhttps://packagist.org/packages/samclarke/sbb-code-parser

默认情况下,Composer会尝试解析stable个包。 但是这个包不提供稳定版本(版本标签),但只存在dev-master版本。 Composer无法解决它。 为了满足要求,您需要降低此软件包的最低稳定性。

您可以明确地为一个包执行此操作:

"require": {
    "samclarke/sbb-code-parser": "dev-master@dev"
},

或者通过设置所有包:

"minimum-stability": "dev"

cyphix333/SBBCodeParser不在Packagist上。 这是一个私人分叉。如果你想要这个代码。您可以在repositories添加composer.json部分,并使用网址添加repo并在其中输入vcs。然后,Composer可以在Github上从VCS存储库加载包。这在此处描述:https://getcomposer.org/doc/05-repositories.md#loading-a-package-from-a-vcs-repository

这样就可以了:

{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/cyphix333/SBBCodeParser"
        }
    ],
    "require": {
        "samclarke/sbb-code-parser": "dev-master"
    }
}

但遗憾的是,fork也没有很好地维护,并且不包含有效的composer.json文件。

 [Composer\Repository\InvalidRepositoryException]
 No valid composer.json was found in any branch or tag of https://github.com/cyphix333/SBBCodeParser, could not load a package from it.

这需要先修复....