目前我正在开发一个可在我的私有Packagist上使用的存储库X
,这是生产版本。但是,出于开发速度的原因,我使用symlink / junction从同一项目中使用本地存储库。
类似的东西:
"repositories": [
{
"type": "path",
"url": "../plataform"
}
],
"require": {
"project/x": "dev-master"
},
但是当我对此composer.json
提交更改时,我需要始终将其修改为正确的存储库(删除repositories
密钥并将dev-master
修改为当前版本);
我的疑问是:有可能为此创建一些本地覆盖吗?我的意思是,一种方法可以包含一个本地存在的可选文件,但不能远程(生产服务器)来完成这项工作而不需要在提交之前进行编辑。
伪示例:
在正式提交时我应该有类似的东西:
"require": {
"project/x": "~1.0"
},
"overrider": "composer.local.json"
然后如果overrider
文件存在,那么它将由自己的composer
合并。
composer.local.json
文件应该像:
{
"repositories": [
{
"type": "path",
"url": "../plataform"
}
],
"require": {
"project/x": "dev-master"
}
}
答案 0 :(得分:0)
我发现这个插件wikimedia/composer-merge-plugin完全解决了我的问题。经过测试和批准。
我只需要"replace": true
功能,并包含我当地的composer.local.json
文件。