我创建了我的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
部分.一切正常,但有一个问题.下载扩展后,作曲家应将其添加到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\\": "" } }
}
我正试图找到一个解决方案,但这很难.
"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上的注册永远不会发生以替代这种缺乏信息.永远不要将它用于您自己的软件.