简介
在公司内部的开发过程中,总会有部分代码包不适合发布到公网上,为了避免每次在composer.json每次都指定代码包的仓库地址,需要自建composer私有仓库。
composer官方有提供两种方式:satis和toran proxy,satis相对来说简单些,以下的教程也是针对satis进行的。
官方文档
https://github.com/composer/satis
安装satis
composer create-project composer/satis:dev-master
配置satis
cd ~/satis
vim satis.json
添加内容如下:
{
"name": "My Repository",
"homepage": "http://packages.example.org",
"repositories": [
{ "name": "tinson/formatter", "type": "vcs", "url": "https://github.com/hetiansu5/formatter" }
],
"require-all": true
}
生成composer仓库元数据
mkdir web
php bin/satis build satis.json web/
启动Composer元数据服务
使用php内置的服务器启动一个简单的服务器,类似packagelist的服务。
php -S localhost:80 -t web/
将packages.example.org本地Host到127.0.0.1,可以通过http://packages.example.org/访问。如果80端口已经被占用,可监听其他端口,通过Nignx配置域名反向代理到本机的8090端口。
使用
在项目的composer.json中引入如下配置,就可以使用私有的仓库包了。
{
"repositories": [{
"type": "composer",
"url": "http://packages.example.org"
}]
}