Git Repo for Composer Use - Git / Composer

时间:2015-06-19 19:15:41

标签: php git cakephp composer-php

情景

我已经编写了一个PHP插件,并希望将其保存为私有存储库。我想在Git中设置版本。我知道有这样的标签,但不知道会议如何适用于Composer。

我的包/插件的当前composer.json

{
    "name": "Test/Upload",
    "description": "Useful functions for image uploading.",
    "minimum-stability": "dev",
    "require": {
        "php": ">=5.3.0"
    }
}

我的项目的当前composer.json包含上述包/插件:

{
    "name": "multistepform",
    "require": {
        "cakephp/cakephp": "2.6.*",
        "cakephp/debug_kit": "2.2.*"
    },
    "config": {
        "vendor-dir": "Vendor/"
    }
}

目前我在包/插件中没有标签。

Qs的

1)Composer 是否需要标记在存储库中才能使用它?

2)如何标记其私有存储库以供Composer使用?

3)如何将此包包含在不同的项目中(使用上述上下文)?

1 个答案:

答案 0 :(得分:1)

只需添加@tigrang的评论并列出明确的步骤:

  • 使用composer.json
  • 中的“存储库”添加你的git repo
  • 使用版本号标记您的包裹(建议您使用Semantic versioningKeep A Changelog和我的git插件git-semver

    VERSION=0.1.0 && git tag ${VERSION} && git push origin ${VERSION}

  • 在require

  • 下添加您的包
  • 如果您不想添加版本标记并希望在运行composer update时获取包的最新更改,您也可以在您的require中使用“dev-master”。这需要设置:

    minimum-stability: dev

最终的composer.json:

{
    "name": "multistepform",
    "repositories": [
        {
            "type": "git",
            "url": "https://github.com/Test/Upload.git"
        }
    ],
    "require": {
        "cakephp/cakephp": "2.6.*",
        "cakephp/debug_kit": "2.2.*",
        "Test/Upload": "0.1.*"
    },
    "config": {
        "vendor-dir": "Vendor/"
    }
}