MRa*_*iaz 28 upgrade dart flutter
我想升级我的 flutter 以获得新功能,例如空安全,但我不希望我以前的项目影响它们。我只希望对我的新 flutter 项目进行新的更改,我想以类似于旧的方式运行我的旧项目。有什么办法吗?请指导我完成它。
谢谢你
Mig*_*ivo 39
在旧项目的pubspec.yaml文件中设置 SDK 约束就足够了。
例如,以下内容没有启用空安全:
environment:
sdk: ">=2.11.0 <3.0.0"
Run Code Online (Sandbox Code Playgroud)
您还可以在 Dart 文件的顶部指定禁用该文件的空检查。
// @dart=2.9
Run Code Online (Sandbox Code Playgroud)
jar*_*ler 28
以上回答并没有为我工作后我升级到Dart v2.12了上beta通道。所以我找到了这些选项:
您可以将此添加到任何 dart 文件的顶部以禁用空安全检查。
// @dart=2.9
Run Code Online (Sandbox Code Playgroud)
或类似于上面的答案,我必须包含 2.12 之前的版本以禁用空安全。您将在pubspec.yaml文件中编辑这一行。
environment:
sdk: ">=2.11.0 <3.0.0"
Run Code Online (Sandbox Code Playgroud)
您的项目可能是使用 flutter old(版本低于 2.+)开发的。2.xx dart 版本的主要变化是启用空安全。目前,pub.dev 上的很多库已经升级为 null 安全功能。
但是您的旧项目可能有一些库仍未更新为空安全。因此,您的项目可能混合了两者。在这种情况下,@miguel 答案部分有效(定义sdk: ">=2.7.0 <3.0.0"约束)。要运行您的项目,您还需要取消零安全性。就像运行以下命令一样
flutter run --no-sound-null-safety
或者通过转到Run->Edit Configurations在配置中添加此命令。它将打开以下弹出窗口和突出显示的字符串,与
**推荐:**将您的项目更新为空安全。阅读有关空安全的更多信息
小智 5
您可以使用--no-sound-null-safety带有flutter run.
您也可以将其添加为launch.jsonVSCode 中的参数
"configurations": [
{
"name": "Flutter",
"request": "launch",
"type": "dart",
"flutterMode": "debug",
"args": [
"--no-sound-null-safety"
],
},
]
Run Code Online (Sandbox Code Playgroud)