Yii2 installing extension from private git server - framework not see it

…衆ロ難τιáo~ 提交于 2019-12-06 04:11:24

问题


I've created my yii2 extension. I keep it on my private git server. I managed the extension to be downloaded through composer using following code:

"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"
            }
        }
    }
],

and "author/yii2-user": "*", in require section. It all works fine but there is one problem. After downloading extension, composer should add it to the yiisoft\extension.php file but it's not being added.

In my extension I have composer.json file like this:

{
"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\\": ""
    }
}

}

I'm trying to find a solution but it's a hard one.


回答1:


Don't use the "type": "package" repository if you have the source code under your own control. Every info you have to add there can be figured out by Composer itself if you use the "type": "vcs" repository and give the URL of the source code server.

The correct way would be:

"repositories": [
    {
        "type": "vcs",
        "url": "ssh://git@my.server.pl/srv/git/user.git"
    }
],

The Composer scans this repository for a composer.json, parses it and then knows all the metadata like name, type (probably important if you want to install it as a yii extension), version or branch etc.

The package type does only exist to allow anybody who needs one particular software which is not maintained anymore and therefore a missing composer.json will never be added and/or registration at packagist.org will never be happening to substitute this lack of information. Don't use it for your own software, ever.



来源:https://stackoverflow.com/questions/24509654/yii2-installing-extension-from-private-git-server-framework-not-see-it

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!