搭建私有composer
适用于公司内部进行包管理,在组件化、服务化场景下部分业务代码不方便放到开源平台,可使用内部git服务器,配合composer/satis项目搭建私有composer处理内部依赖,优化代码结构,统一依赖
环境
- 系统:
windows 10
- php版本:
7.2.17
(当前satis要求^7.2.9
) - git服务:
gitlab
- 示例项目:
aichenk/open-crypt
步骤
提交项目源码到gitlab
- 需配置composer.json,步骤本次不作说明
- 需可以通过http方式访问(gitlab本身支持)
使用composer建立satis项目并加载依赖
$ composer create-project composer/satis satis --stability=dev --keep-vcs
$ cd satis
$ composer install增加配置文件satis.json(本次建立在项目根目录,可以自由配置)
{
"name": "satis",
"homepage": "http://localhost:8080/",
"repositories": [
{
"type": "vcs",
"url": "http://localhost/aichenk/open-crypt.git"
}
],
"config": {
"secure-http": false
}
}
-
homepage
表示satis访问地址(web服务器配置,后续用到) -
repositories
中写入git仓库地址 -
secure-http:false
表示支持http访问
生成仓库列表及网页文件
$ php bin/satis build satis.json ./web
配置web访问(本示例使用php自带web服务演示)
$ php -S 0.0.0.0:8080 -t ./web
打开配置的
homepage
验证是否成功
使用
修改项目composer.json文件
{
"repositories": {
"packagist": {
"type": "composer",
"url": "http://localhost:8080/"
}
},
"config": {
"secure-http": false
},
"require": {
"aichenk/open-crypt": "^1.0"
}
}执行
composer install
即可
其他说明
项目中添加多个composer源
{
"repositories": [
{
"type": "composer",
"url": "http://localhost:8080"
},
{
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
]
}略过satis直接使用gitlab加载包
{
"repositories": [
{
"type": "vcs",
"url": "http://localhost/aichenk/open-crypt.git"
},
{
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
]
}