composer使用私有git仓库项目
目录
创建composer包
创建一个Composer包只需两步:
-
填写包描述信息
Composer包的描述信息存放在composer.json文件中,可直接新建(或从其他项目拷贝)composer.json文件,手动填充必要的字段信息;
也可以用composer init命令,交互式的输入包信息,生成composer.json文件后再补全其他字段信息。
{ "name": "9ong/wstools", "description": "9ong websocket tools", "type": "library", "require": { "php": ">=7.0" }, "license": "MIT", "authors": [ { "name": "9ong", "email": "tsingchan@9ong.com" } ], "minimum-stability": "stable", "autoload": { "psr-4": { "9ong\\": "src/" } } }
-
实现代码
略
提交到git
包编码测试后,提交到私有git仓库。
提交到packagist
这次是内部私有库,所以不考虑提交packagist,如果有需要提交到packagist的话,可以看参考文章详细介绍。
进入 Packagist 官网,登录你的账户,点击 Submit
填写你提交到 GitHub 的仓库地址。点击 Check,根据提示提交即可。
稍等片刻,你会看到如下界面,然后你就可以使用这个库了。
引用composer包
新项目microblog需要使用到9ong/wstools的包,我们就可以在新项目中引用这个composer包:
{
....
"require": {
"9ong/wstools": "2.0.1"
},
"repositories": [
{
"url": "git@gitlab.com/9ong/wstools.git",
"type": "git",
}
],
....
}
在 composer.json 中,除了要指明 git 项目地址之外,还需要在 require 中指定对应的版本号。
composer 依赖的 package 版本号2.0.1来自哪里?
实际上就是 VCS 中的版本号,例如,git 打的 version tag。
composer 在识别 version 的时候,会自动过滤掉字母 ‘v’ 的前缀,所以在打 tag 的时候,加不加 v 都是可以的。当然为了阅读方便,还是加上好。
git tag -a 'v2.0.1'
参考
如何创建一个自己的 Composer 库 | PHP 技术论坛
十分钟创建Composer包 - SegmentFault 思否
对以内部 git 仓库为 composer 依赖的 package,加上版本号_weixin_30670965的博客-CSDN博客