关于flutter pubspec.yaml动态版本号问题
作者:互联网
问题:
拉出老的release库的代码,发现flutter部分的代码无法编译通过,打不出老的release包。
问题分析:
develop分支flutter库代码中的pubspec.yaml中的版本号都是动态模式。
加了^符号,会默认指向a.b.c 版本号中c的最高位置。
例如: ^0.1.2
如果远端的pub库上的最新版本是0.1.3,那么本地使用的实际最终会是0.1.3。
在自动对齐的过程中,有可能出现一些三方库的api变更,导致flutter编译的时候第三方库指向了最新版本的不同的代码。
解决办法:
把host入口工程的pubspec.lock文件加入到git 版本管理中。打release分支的时候,跟随代码带过去。flutter pub get 会导致pubspec.lock override,所以jenkins上构建,直接flutter build bundle,如果发现pubspec.lock文件有变化,要revert。
关于工程中什么地方应该pubspec.lock ignore?
application packages工程保留。
library packages工程git ignore。
标签:pubspec,版本号,lock,代码,yaml,release,flutter 来源: https://blog.csdn.net/ameryzhu/article/details/113263483