2015-04-01 164 views
1

好吧,我正在使用Yii2,我正在尝试向项目中添加新的需求/库。所述库可以在这里找到:https://github.com/cyphix333/SBBCodeParser作曲家无法在Yii2 composer.json中找到新的需求包

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

我尝试添加它作为项目主要作曲文件的要求,即:

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

然后我跑:

composer update 

它只是抱怨说,找不到包或它的任何版本。

然后我删除该行并尝试:

require samclarke/sbb-code-parser 

我已经有文件在我的Yii vendor文件夹位于:@app/vendor/samclarke/sbb-code-parser

我很新的作曲家,我不知道我做错了或者作曲家实际上应该知道从哪里获取基于包名的文件。

回答

0

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

默认情况下,Composer会尝试解析stable套软件包。 但是这个软件包没有提供稳定的版本(版本标签),但是 - 只有dev-master版本存在。作曲家无法解决它。 为了要求它,你需要降低这个包到开发的最低稳定性。

您可以为一个包明确地做到这一点:通过设置

"require": { 
    "samclarke/sbb-code-parser": "[email protected]" 
}, 

或所有包:

"minimum-stability": "dev" 

cyphix333/SBBCodeParser不上Packagist。 这是一个私人叉子。如果你想要这个代码。您可以将repositories部分添加到您的composer.json中,并使用url添加回购,并在其中添加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" 
    } 
} 

但不幸的是,叉也没有得到很好的维护,并且不包含有效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. 

这需要先固定....

+0

延喜......非常感谢您的信息。我不知道它需要在packagist上,尽管我*想知道作曲家如何知道在哪里找到这些文件。是的,我想在'cyphix333'分叉处的github上创建代码,因为我认为它是另一个,因为你说的没有被维护,所以我更新了它并创建了作曲文件。但是您上面的陈述似乎表明'cyphix333'回购中没有一个? – Brett 2015-04-01 17:53:18

+0

有一个,但它是无效的。试着运行'composer install -vvv',你会看到Composer试图获取什么。作曲家文件是这些东西之一,但需要一些调整..我不知道它是什么,也许它是重复的包名称。 Try'n'error:用'cyphix333/SBBCodeParser'替换'samclarke/sbb-code-parser'并提交,然后再次尝试安装。 – 2015-04-01 18:02:42

+0

我是否在我的主项目目录或包含有乱码作曲文件的包目录中运行此'composer install -vvv'命令? – Brett 2015-04-01 18:11:28