微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Composer依赖与composer.json文件中的细微差别

我正在创建一个可以在同一软件的两个单独版本上运行的应用程序.这些框架将具有完全不同的模块,并且与我构建的 JavaScript框架具有共享依赖性.

让我们说吧

dave/version1
dave/version2

两者都通过要求共享依赖

dave/framework

我想在两个父模块都需要的存储库中维护这个框架(dave / framework).但是,这些框架文件需要放置的位置在两个模块之间略有不同,同时对composer.json文件的要求略有不同,以确保所有内容都能正确移动(这两个版本的软件实现了编辑器的不同).

凭借我对作曲家和Git的有限知识,我制定了几个解决方案:

>创建三个存储库,两个包含特定composer.json文件的包装存储库,以支持每个不同版本的软件.另一个依赖于包含实际框架的第三个存储库.我不确定这是否会在理论之外起作用.最后也有点乱.
>使用某种形式的聪明标记,并且版本1和版本2依赖于框架的不同版本,而这些版本的构成略有不同.然后,Composer将努力拉动最新版本的模块,因为我们将在奇怪的版本中运行两个如此略微不同的代码库.

然而,这些似乎都可能是凌乱的,并且构造我想要实现的东西的方式也不正确.

有没有一个很好的方法来实现这一目标?或者我最好为框架维护两个单独的存储库?

解决方法

通过一些正确的计划,您的第一个选择将比您想象的更容易.

Git有一个名为Submodules的系统.

Version1和Version2 repos将在其中包含Frameworks repo.然后,当您更新Framework时,您可以在Version1 / 2中提取这些更新没有问题.您可以控制何时以及如何操作,因此您可以确保不会在路上引入错误.

以下是子模块的一些文档:https://git-scm.com/book/en/v2/Git-Tools-Submodules
https://git-scm.com/docs/git-submodule

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐