Flutter pub upgrade未更新pubspec.yaml中的依赖求助
为什么
flutter pub upgrade更新了依赖但pubspec.yaml版本没改? 这是flutter pub upgrade的正常设计逻辑,核心原因有这几点:
- 命令职责范围限定:
pub upgrade的作用是根据你pubspec.yaml里写的版本约束规则,拉取符合条件的最新兼容依赖版本,但它不会主动修改你的pubspec.yaml文件,只会更新项目根目录下的pubspec.lock文件,用来锁定当前实际安装的依赖版本。 - 版本约束≠固定版本:你在
pubspec.yaml里写的大概率是带版本范围的约束,比如firebase_core: ^2.2.0,其中^符号表示允许安装2.2.0到3.0.0(不含3.0.0)之间的最新兼容版本。当firebase_core发布2.3.0时,它符合这个约束范围,所以pub upgrade会自动安装这个新版本,但不会改动你原本写的约束规则。 - 若要同步pubspec.yaml版本需手动或用专门命令:如果想把
pubspec.yaml里的版本号改成实际安装的最新版本,要么手动修改文件里的版本号后执行flutter pub get,要么使用flutter pub upgrade --major-versions命令(该命令会升级到最新大版本并同步修改pubspec.yaml)。
内容的提问来源于stack exchange,提问作者Boatti
相关产品推荐
相关产品推荐

