好的,我正在使用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
我对composer还很陌生,不确定我做错了什么,也不确定composer应该如何根据包名称知道从哪里获取文件。
包samclarke/sbb-code-parser
可以在Packagist中找到。https://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上。这是一个私有分叉。如果你想要这个代码的话。您可以在composer.json
中添加一个repositories
部分,并添加带有url的repo和带有vcs的type。然后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
文件。
[ComposerRepositoryInvalidRepositoryException]
No valid composer.json was found in any branch or tag of https://github.com/cyphix333/SBBCodeParser, could not load a package from it.
这需要首先解决。。。。