由于自定义依赖项不支持声音空安全,无法构建飞镖项目



我一直在研究dart项目,测试dart包和相互依赖性。我创建了一个名为console_full_project的Dart项目,在项目中创建了一个名为calculator的包,并将其添加到主项目pubspec中。yaml文件。

主项目的pubspec。Yaml代码

name: console_full_project
description: A sample command-line application.
version: 1.0.0
publish_to: none
# homepage: https://www.example.com
environment:
sdk: ">=2.17.0-266.8.beta <3.0.0"
dependencies:
calculator:
path: "packages/calculator"
dev_dependencies:
lints: ^2.0.0
test: ^1.16.0

和我的包。Yaml文件的代码是

name: calculator
environment:
sdk: ">=2.10.0<3.0.0"
dependencies:
lints: ^2.0.0

当一个尝试的dart run命令在我的终端

它了

构建console_full_project失败:console_full_project:错误:由于下列依赖项,无法使用声音null安全运行不支持null安全:

  • 包:计算器

解决方案请参见https://dart.dev/go/unsound-null-safety

这个问题有很多解决办法。

  1. 降低项目级别pubspec.yaml文件中environment变量到2.10.0
environment:
sdk: ">=2.10.0 <3.0.0"
  1. 尝试在项目级目录中使用以下命令运行项目
flutter run --no-sound-null-safety

注意:如果包不在您的控制范围内,以下选项可能不可用。

  1. (可选)增加包级别pubspec.yaml文件中的environment变量到2.12.0或以上
environment:
sdk: ">=2.12.0 <3.0.0"
  1. (可选)在包级目录中使用dart迁移工具与dart migrate命令

最新更新