我已经创建了我的yii2扩展。我把它放在我的私人git服务器上。我使用以下代码管理要通过composer下载的扩展:
"repositories": [
{
"type": "package",
"package": {
"name": "author/yii2-user",
"version": "dev-master",
"source": {
"url": "ssh://git@my.server.pl/srv/git/user.git",
"type": "git",
"reference": "origin/master"
}
}
}
],"author/yii2-user": "*",在require区。一切都很好,但有一个问题。下载扩展名后,composer应该将其添加到yiisoft\extension.php文件中,但没有添加它。
在我的扩展名中,我有这样的composer.json文件:
{
"name": "author/yii2-user",
"description": "Auth and user manager for our apps",
"keywords": ["yii", "admin", "auth"],
"type": "yii2-extension",
"support": {
"issues": "",
"source": ""
},
"authors": [
{
"name": "j2",
"email": "j2@j2.j2"
}
],
"require": {
"yiisoft/yii2": "*",
"yiisoft/yii2-bootstrap": "*"
},
"autoload": {
"psr-4": {
"author\\user\\": ""
}
}}
我想找个解决办法,但这很难。
发布于 2014-07-01 19:47:23
如果您有自己控制的源代码,就不要使用"type": "package"存储库。如果您使用"type": "vcs"存储库并给出源代码服务器的URL,那么您必须添加的每一个信息都可以由Composer自己计算出来。
正确的方法是:
"repositories": [
{
"type": "vcs",
"url": "ssh://git@my.server.pl/srv/git/user.git"
}
],Composer扫描这个存储库以寻找一个composer.json,然后解析它,然后知道所有的元数据,比如名称、类型(如果您想将它安装为一个yii扩展,可能很重要)、版本或分支等等。
包类型的存在只允许任何需要不再维护的特定软件的人,因此丢失的composer.json永远不会被添加,并且/或在packagist.org的注册永远不会取代这种信息的缺乏。永远不要把它用于你自己的软件。
https://stackoverflow.com/questions/24509654
复制相似问题