我的Flutter项目在版本^2.0.1
上有一个依赖项flutter_dotenv
,我想自动升级到新版本^2.0.2
。
我正在运行以下命令来升级它:
flutter pub upgrade
参考:仅升级包
要更新到pubspec. yaml文件中列出的所有依赖项的最新兼容版本,请使用upgrade命令:
flutter酒吧升级
然而,似乎什么也没有发生。pubspec.yaml
没有改变,控制台输出也没有提到新版本(这就足够了)。
我的pubspec.yaml
如下所示:
environment:
sdk: ">=2.1.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
flutter_dotenv: ^2.0.1
cupertino_icons: ^0.1.2
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
5条答案
按热度按时间bkhjykvo1#
以上方法有效,但您可以使用以下命令:
它将更新您的所有依赖项。
另请检查“如何正确添加依赖项以避免**“版本解决失败”错误**
请参阅:https://stackoverflow.com/a/67517680/13500457
qjp7pelc2#
Flutter会根据语义版本自动升级非破坏性的更改,你不会希望破坏性的更改是自动的,更新会反映在
pubspec.lock
中,但不会反映在pubspec.yaml
中。有几个IDE插件可以帮助您升级软件包,比在pub.dev上逐个查找要容易得多。
Android Studio
Flutter Pub Version Checker
这个插件会突出显示
pubspec.yaml
中任何过期的依赖项,以便您可以选择更新它们。Visual Studio代码
Pubspec Assist
这个插件使得添加或更新依赖项变得超级简单,而无需使用pub.dev,但是您仍然需要一次检查一个依赖项。
9bfwbjaz3#
运行
pub
将永远不会更改pubspec.yaml
。但是,它可能会解析为与指定的“基本”版本不同的版本-前导插入符号允许pub解析为:保证与指定版本向后兼容的所有版本的范围
检查
pubspec.lock
文件,您可能会看到pub已经解算为version: "2.0.2"
vql8enpb4#
声明依赖关系版本的方法有两种:
1.插入符号语法-它保证向后兼容。例如:第一个月
1.传统语法-灵活性高,有多种控制选项。例如:
>=1.2.3
其行为类似于具有Node.js依赖项管理的
package.json
。您选择的在
pubspec.yaml
中声明依赖项的方式将定义在pubspec.lock
文件中如何定义 * 实际依赖项 *。sxissh065#
对于从非常旧的版本升级到null safety版本:
再次升级dart代码。在此阶段,您应该纠正所有问题(手动或使用迁移指南),否则将显示“The migration tool didn't start,due to analysis errors”(由于分析错误,迁移工具未启动)。
有关详细信息,请参阅this article
检查扑动迁移指南here