情景
我已经编写了一个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)如何将此包包含在不同的项目中(使用上述上下文)?
答案 0 :(得分:1)
只需添加@tigrang的评论并列出明确的步骤:
使用版本号标记您的包裹(建议您使用Semantic versioning,Keep 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/"
}
}