Dart 空安全 - 如何禁用某些文件的空安全分析?
Dart null safety - How to disable null safety analysis for certain file?
问题:
一些 pub 包还不支持 null 安全。
例如 intl_translation 无法解析包含空安全运算符的文件,如果找到任何符号(如 ?、! 等),将抛出如下错误。
Invalid argument(s): Parsing errors in lib/localizations/MainLocalizations.dart
#0 MessageExtraction._parseCompilationUnit (package:intl_translation/extract_messages.dart:117:7)
#1 MessageExtraction.parseContent (package:intl_translation/extract_messages.dart:102:14)
#2 MessageExtraction.parseFile (package:intl_translation/extract_messages.dart:87:12)
#3 main (file:///.../flutter/.pub-cache/hosted/pub.dartlang.org/intl_translation-0.17.10+1/bin/extract_to_arb.dart:98:31)
#4 _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:281:32)
#5 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
然后它生成的 dart 文件也没有使用 null 安全,并且在 $ flutter run
期间导致大量错误。
那么有没有一种方法可以禁用警告或空安全性以至少成功编译?因为
$ flutter run --no-sound-null-safety
没有帮助:(
感谢您的帮助!
您可以针对每个图书馆禁用它。这需要在文件开头添加特殊注释。
例子.
// @dart=2.10
import 'foo.dart';
问题:
一些 pub 包还不支持 null 安全。
例如 intl_translation 无法解析包含空安全运算符的文件,如果找到任何符号(如 ?、! 等),将抛出如下错误。
Invalid argument(s): Parsing errors in lib/localizations/MainLocalizations.dart
#0 MessageExtraction._parseCompilationUnit (package:intl_translation/extract_messages.dart:117:7)
#1 MessageExtraction.parseContent (package:intl_translation/extract_messages.dart:102:14)
#2 MessageExtraction.parseFile (package:intl_translation/extract_messages.dart:87:12)
#3 main (file:///.../flutter/.pub-cache/hosted/pub.dartlang.org/intl_translation-0.17.10+1/bin/extract_to_arb.dart:98:31)
#4 _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:281:32)
#5 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
然后它生成的 dart 文件也没有使用 null 安全,并且在 $ flutter run
期间导致大量错误。
那么有没有一种方法可以禁用警告或空安全性以至少成功编译?因为
$ flutter run --no-sound-null-safety
没有帮助:(
感谢您的帮助!
您可以针对每个图书馆禁用它。这需要在文件开头添加特殊注释。
例子.
// @dart=2.10
import 'foo.dart';