本地覆盖Composer仓库

6

我目前正在开发一个名为X的存储库,该存储库可在我的私人Packagist上使用,这是生产版本。但是,出于开发速度的原因,我正在使用同一项目的本地存储库,使用符号链接/联接。

类似于这样:

"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"
    }
}
1个回答

2
我发现这个插件wikimedia/composer-merge-plugin完全解决了我的问题。已经测试并获得认可。
我只需要使用"replace": true功能并包含我的本地composer.local.json文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接