其他分享
首页 > 其他分享> > 关于flutter pubspec.yaml动态版本号问题

关于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。

https://stackoverflow.com/questions/16136739/in-dart-and-pub-should-i-add-pubspec-lock-to-my-gitignore

 

 

标签:pubspec,版本号,lock,代码,yaml,release,flutter
来源: https://blog.csdn.net/ameryzhu/article/details/113263483