搭建私有Composer
搭建私有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" } ] }