composer-php - 为什么作曲家中的存储库本地指令不起作用?
问题描述
有一个项目“OctoberCMS”,它有一个名为“rain”的库,即。一个依赖。我使用以下方法将它们克隆到我的桌面:
git clone --branch develop git@github.com:octobercms/october.git
git clone --branch develop git@github.com: octobercms/library.git
(实际上是克隆的分叉版本,但无论如何都显示了上面的原始 repo URL)所以问题是我想对库项目进行更改和 PR。所以我在 october 文件夹中打开了 composer.json ,然后添加了:
"repositories": [
{
"type": "path",
"url": "../library",
"options": {
"symlink": true
}
}
],
由于主要的 OctoberCMS 项目已经october/rain
将库项目作为在其作曲家中声明的依赖项,我将代码从 更改"october/rain": "1.1.*",
为"october/rain": "@dev",
,希望它将符号链接并加载本地存储库。但它没有用。
我认为 OctoberCMS 的其他依赖项,即system、backend和cms也需要 `"october/rain": "1.1.*" ,也许这就是为什么 composer 在我的本地克隆上加载 packagist 版本的原因。因此,我尝试使用 replace 指令,因为我读到它有助于告诉依赖项在满足时忽略块中的任何内容,
"replace" : {
"october/rain": "~1.1.0"
},
希望作曲家会认为主项目的作曲家指令与@dev 可以满足这一点,但这也不起作用。当我最终删除了 3 个要求时,即:
"october/system": "1.1.*",
"october/backend": "1.1.*",
"october/cms": "1.1.*",
然后符号链接起作用,并且确实引用了我的本地存储库,但是该项目失败,因为它的依赖项不存在。所以我很困惑我能做些什么来解决这个问题。
解决方案
推荐阅读
- ios - 具有内容类型位置的 UITextField
- java - 在 Java 中将字符串(带有保留字符)转换为日期
- flutter - 在 setState 之后改变颜色
- javascript - 如果滑动分别在开始或结束时如何隐藏箭头
- zend-framework3 - 使用 Zend 进行文件访问的类推荐
- python - 如何解决 Tensorflow CNN 模型的“TypeError:__array__() 需要 1 个位置参数但给出了 2 个”?
- algorithm - 二叉树 - 从最后一层遍历到根的最优雅的方式
- mongodb - 如何在 mongoDB 中正确索引三个属性?
- mysql - 在查询执行期间丢失连接
- zip - 密码保护bash中的压缩目录