假设我们在Flutter项目的pubspec.yaml配置文件中首次添加对url_launcher包的依赖
dependencies: url_launcher: \'>=4.0.0 <=5.1.1\'假设在https://pub.dev中url_launcher有如下版本,那么根据\'>=4.0.0 <=5.1.1\'的限定,当执行flutter pub get后,我们获取到的符合条件的版本是5.1.0
4.0.0 4.0.1 4.0.2 ... 5.0.9 5.1.0这时候pubspec.lock文件中会自动增加如下关于url_launcher包的配置,可以看到锁定的版本就是5.1.0
锁定版本是为了保证你或者团队的其他人再次执行flutter pub get每次都能够获得同样的版本,也就是锁定的版本,这样可以避免版本不一致造成的冲突问题。
url_launcher: dependency: "direct main" description: name: url_launcher url: "https://pub.dartlang.org" source: hosted version: "5.1.0"假设url_launcher的开发者上传了新的版本5.1.1,这各版本号是符合\'>=4.0.0 <=5.1.1\'的限定的,但是由于在pubspec.lock中已经锁定了5.1.0版本,即使我们重新执行flutter pub get,得到的依然是5.1.0版本
如果要更新依赖的版本,可以执行‘flutter pub upgrade’或者在Android Studio中点击pubspec.yaml文件编辑页面顶部的‘Packages upgrade’按钮
更新成功后,可以看到pubspec.lock文件中锁定的版本变成了5.1.1
url_launcher: dependency: "direct main" description: name: url_launcher url: "https://pub.dartlang.org" source: hosted version: "5.1.1"