多个 Flutter 包的集中版本管理

Posted

技术标签:

【中文标题】多个 Flutter 包的集中版本管理【英文标题】:Central version management for several Flutter packages 【发布时间】:2020-12-23 11:11:49 【问题描述】:

在我们的 Flutter 应用中,我们尝试将几个功能的实现移到它们自己的包中。

一切都运行良好,但有一件事我想改进。

某些功能使用相同的第三方库 => 即。 pubspec.yaml 中有相同的依赖项

但这也意味着,每次我们需要更新第三方库的版本时,我们都需要在所有包中执行此操作。

是否可以有一个包含所有依赖版本作为变量的中心文件,可以在相应的 pubspec.yaml 文件中使用?

或者也许还有其他解决方法?

【问题讨论】:

【参考方案1】:

好吧,我相信您可以做的不是指定第三方库的明确版本,而是可以在您的第三方库版本前使用插入符号 (^) (What is the caret sign (^) before the dependency version number in Flutter's pubspec.yaml?)

由于插入符号,指定当您 flutter pub upgrade 将库更新到最新的非破坏版本时,它应该可以解决您的问题。

当出现破坏性版本时,无论如何您都不希望它到处更新,因为您需要单独测试和修改每个包,以确保它正常工作。 这听起来像一个正确的答案吗?

【讨论】:

不知何故我的评论消失了。如果我们想在所有包中使用特定版本(但不是最新版本),这并不是真正的解决方案。 您说的完全正确,我知道我的回答有点不对劲,并没有直接回答您的问题,但是我暂时不知道更好的方法。我会支持您的问题以寻求更好的答案。 我想很遗憾没有其他解决方案。但谁知道呢。我想,也许有人开发了一个 android studio 插件或者可能有 yaml 生成器

以上是关于多个 Flutter 包的集中版本管理的主要内容,如果未能解决你的问题,请参考以下文章

composer 如何处理同一个包的多个版本?

docker集中化管理平台--shipyard部署

集成 Flutter 到现有项目,并实现使用单个 FlutterEngine 管理多个入口

欺壹世充电系列之[Svn集中式版本管理系统]

1- 代码管理工具

一个很好用的Flutter SDK版本管理神器