0

对于我们的自定义 CMS,我们将所有内容提取到不同的模块中,包括用户系统、角色管理器、页面编辑器、主题系统等所有内容。

其中一些是系统首先运行所必需的。

所以我们的 composer.json 已经有大约 15 个不同的“要求”。

现在,我想知道的是,创建一个伞形包会更好吗,这个包本身不会包含任何东西,但它需要所有不同的点点滴滴。

因此,我们可以只拥有 15 个不同的需求,而不是

{
    "require": {
        "cms/core": "1.0.*"
    }
}

不利的一面是,对于伞下任何包的每次更新,我们都必须更新伞包的版本,这意味着虽然框架中的最高部分可能只有 2.7.34,伞很可能在 26.12.116 或相似的。

如果我们确实创建了一个伞包,我们应该如何管理它?只是有包需要所有包*吗?我们会遇到兼容性问题吗?

4

1 回答 1

2

如果它确实不包含文件,您也可以这样做并将类型设置为元包。它确实可能使您的用户的生活更轻松。

不过,我建议您需要:1.0.*在每个子包中,然后当您将所有内容撞到1.1您更改1.1.*并标记为cms/core 1.1.0. 也就是说,如果您的所有版本或多或少同步。

如果每个组件都是独立版本的,那么它会变得有点困难。那时也许~1.0最好使用需求。这将允许更新(但不包括)到 2.0,这意味着您可以确保至少可以一起工作。但实际上并没有灵丹妙药,这取决于具体情况,在继续之前,您应该尝试对版本控制实践有更多的了解。

于 2013-04-30T08:03:12.960 回答