能否将composer.json的repositories段提取至独立未提交文件?
实现本地Composer仓库配置独立存储的方法
完全可以把composer.json里的repositories段提取到不提交的独立文件里,以下是两种实用方案:
方案一:使用独立配置文件+命令行/环境变量
- 创建一个名为
composer.local.json的文件,写入你的本地仓库配置:
{ "repositories": [ { "type": "path", "url": "../packages/*" } ] }
- 将
composer.local.json添加到.gitignore文件中,避免被提交到代码仓库。 - 执行Composer命令时,通过参数指定加载这个本地配置:
composer install --config composer.local.json
或者设置环境变量简化操作:
COMPOSER=composer.local.json composer install
方案二:使用合并插件(更便捷)
这种方法不需要每次执行命令加参数,Composer会自动合并主配置和本地配置:
- 安装合并插件(仅开发环境需要):
composer require --dev wikimedia/composer-merge-plugin
- 在项目根目录的
composer.json中添加插件配置,指定要合并的本地文件:
{ "extra": { "merge-plugin": { "include": [ "composer.local.json" ], "merge-dev": true, "merge-extra": true } } }
- 同样创建
composer.local.json写入你的仓库配置,并将其加入.gitignore。
之后每次执行composer install、composer update等命令时,Composer会自动合并两个文件的配置,既保留了项目公共配置,又能使用本地专属的仓库设置。
内容的提问来源于stack exchange,提问作者HubertNNN
相关产品推荐
相关产品推荐

