我一直在研究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
这个问题有很多解决办法。
- 降低项目级别
pubspec.yaml
文件中environment
变量到2.10.0
environment:
sdk: ">=2.10.0 <3.0.0"
- 尝试在项目级目录中使用以下命令运行项目
flutter run --no-sound-null-safety
注意:如果包不在您的控制范围内,以下选项可能不可用。
- (可选)增加包级别
pubspec.yaml
文件中的environment
变量到2.12.0
或以上
environment:
sdk: ">=2.12.0 <3.0.0"
- (可选)在包级目录中使用dart迁移工具与
dart migrate
命令