Composer php 为什么composer中的repository local指令不起作用?

Composer php 为什么composer中的repository local指令不起作用?,composer-php,dependency-management,packagist,Composer Php,Dependency Management,Packagist,有一个项目“OctoberCMS”,它有一个名为“rain”的库,即。依赖关系。我使用以下方法将它们克隆到我的桌面: git clone --branch develop git@github.com:octobercms/october.git git clone --branch develop git@github.com: octobercms/library.git (实际上克隆了分叉版本,但无论如何显示了上面的原始回购URL) 所以问题是,我想对图书馆项目进行更改和公关。因此,我打

有一个项目“OctoberCMS”,它有一个名为“rain”的库,即。依赖关系。我使用以下方法将它们克隆到我的桌面:

git clone --branch develop git@github.com:octobercms/october.git
git clone --branch develop git@github.com: octobercms/library.git
(实际上克隆了分叉版本,但无论如何显示了上面的原始回购URL) 所以问题是,我想对图书馆项目进行更改和公关。因此,我打开了十月文件夹中的composer.json,然后添加:

"repositories": [
    {
        "type": "path",
        "url": "../library",
        "options": {
            "symlink": true
        }
    }
],
由于主要的OctoberCMS项目已经有了
october/rain
,即库项目作为其composer中声明的依赖项,我将代码从
“Octory/rain”:“1.1.*”,
更改为
“october/rain”:“@dev”,
,希望它将符号链接并加载本地repo。但它不起作用

我认为OctoberCMS的其他依赖项,即,也需要“十月/下雨”:“1.1.*”,这可能就是composer在我的本地克隆上加载PackageGist版本的原因。因此,我尝试使用replace指令,因为我读到它有助于告诉依赖项在满足时忽略块中的任何内容

"replace" : {
    "october/rain": "~1.1.0"
},
希望composer会认为主项目的composer指令@dev满足了这一点,但这也不起作用。当我最终删除3项要求时,即:

"october/system": "1.1.*",
"october/backend": "1.1.*",
"october/cms": "1.1.*",

然后符号链接起作用,实际上我的本地repo被引用,但是项目失败了,因为它的依赖项不存在。因此,我对如何解决这个问题感到困惑。

告诉composer使用
develop
分支,但创建一个满足其他依赖项的版本:

{
“要求”:{
...
“十月/下雨”:“开发为1.1.x-dev”,
...
}
}
为了进一步发展,我建议您更新
10月/rain
存储库中的:

{
“额外”:{
“分支别名”:{
“开发人员开发”:“1.1.x-dev”
}
}
}
这需要随着每个发布/开发阶段而改变