composer 使用技巧
引用 git 上的代码库
本文使用 composer v2
开发时我们会使用公司 git 上的库,最简单的方式是将公司的 git 库信息配置再 repositories 段中。
"require": {
"laravel/lumen-framework": "^7.2",
"phpoffice/phpspreadsheet": "^1.19",
"game/your_project.git": "dev-master"
},
"repositories": [
{
"type": "git",
"url": "git@git.your-corp.net:dept/your_project.git",
"only": ["game/mgsc"]
}
]
composer 默认最后使用 packagist 库,因此 repository 的意义是优先在我们定义的库中寻找,找不到再去 packagist 库中寻找,详见 repository-priorities。
为了优化过程,我们给我们的 repository 加入 only 属性,显示声明我们的 repo 只包含声明的库。
如果需要从多个 git 引用库,就需要依次配置多个 repository,并设定他们的优先级。
其中最关键的是,我们的 git 中的库必须配置好 composer.json,这样 composer 才能确定是否找到离职正确的库:
{
"name": "game/your-project",
"type": "project" // 或者 "library"
"require": {
......
}
}
其中最关键的就是 name 属性,composer 在引用 your-project 之前首先会检查这个名字是否匹配。

浙公网安备 33010602011771号