我遇到了同样的问题,在做了大量的降级和升级之后(尤其是当旧项目需要用旧版本的Flutter和build_runner构建时),我发现了关于Flutter Version Manager的信息请在这里查看git repo:https://github.com/leoafarias/fvm。这样做的最大好处是可以指定每个项目要使用的版本。 以下内容来自回购协议中的说明: 1.要全局激活,请运行pub global activate fvm 1.要安装特定版本的Flutter,请运行fvm install <version> 1.然后进入项目的根目录并运行fvm use <version> 瞧,希望能帮上忙👍。 查看repo以获取更多像fvm use <version> --global这样的命令来轻松切换全局版本和更多有趣的东西。
8条答案
按热度按时间lmvvr0a81#
在旧项目的
pubspec.yaml
文件中设置SDK约束就足够了。例如,以下代码未启用null safety:
也可以在Dart文件的顶部指定,以禁用对该文件的空值检查。
ijnw1ujt2#
我在
beta
频道上升级到Dart v2.12
后,上面的答案对我不起作用。所以我找到了以下选项:您可以将其添加到任何dart文件的顶部以禁用空值安全检查。
或者类似于上面的答案,我必须包含一个2.12之前的版本来禁用null安全。
hs1ihplo3#
您可以使用
--no-sound-null-safety
选项和flutter run
运行flutter项目,而不使用null safety。您也可以将其作为参数添加到VSCode的
launch.json
中cwxwcias4#
你的项目可能是用flutter老版本(低于2.+的版本)开发的。2 dart 2.x.x版本的主要变化是启用了null安全。3目前,www.example.com上的很多库pub.dev都升级到了null安全特性。
但是你的旧项目可能有一些库仍然没有更新到null安全。所以,你的项目可能有两者的混合。在这种情况下,@miguel答案是部分有效的(定义
sdk: ">=2.7.0 <3.0.0"
约束)。要运行你的项目,你还需要取消null安全。就像通过运行下面的命令Flutter-无声-零安全
或通过转到运行-〉编辑配置将此命令添加到配置中。它将打开以下弹出窗口,突出显示的字符串与x1c 0d1x相同
**建议:**将您的项目更新为null safety。Read more about null-safety
u0sqgete5#
我遇到了同样的问题,在做了大量的降级和升级之后(尤其是当旧项目需要用旧版本的Flutter和build_runner构建时),我发现了关于Flutter Version Manager的信息请在这里查看git repo:https://github.com/leoafarias/fvm。这样做的最大好处是可以指定每个项目要使用的版本。
以下内容来自回购协议中的说明:
1.要全局激活,请运行
pub global activate fvm
1.要安装特定版本的Flutter,请运行
fvm install <version>
1.然后进入项目的根目录并运行
fvm use <version>
瞧,希望能帮上忙👍。
查看repo以获取更多像
fvm use <version> --global
这样的命令来轻松切换全局版本和更多有趣的东西。sgtfey8w6#
您可以使用var或dynamic声明变量,现在编译器不会检查
variable type
。如果您尝试在没有null安全检查的情况下构建,请在main.dart的第一行中使用注解行
// @dart=2.9
。qpgpyjmq7#
从Gradle文件中删除以下代码行,或仅将其注解掉,以便在不使用Gradle执行的情况下运行代码- if(flutterRoot == null){ throw new GradleException(“Flutter SDK未找到。使用flutter.sdk在www.example.com文件中定义位置local.properties。”)}
z3yyvxxp8#