“库'package:flutter/material.dart'已经过时,不应该被导入到一个空安全的库中。”

36

我有一个空安全库,在示例文件夹中,我正在使用以下导入:

import 'package:flutter/material.dart';

然而,代码检查器给出了以下警告:

库'package:flutter/material.dart'是旧版的库,在空安全库中不应该被导入。尝试迁移该导入库。import_of_legacy_library_into_null_safe

示例项目的pubspec.yaml文件指定了Dart SDK的beta版本:

environment:
  sdk: ">=2.12.0-29.10.beta <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  my_library:
    path: ../

material.dart现在已经被转换了吗?我需要在pubspec.yaml中添加其他内容还是只需要等稳定版本发布?


你正在使用哪个Flutter通道?稳定版、测试版、开发版还是主要版? - rickimaru
@rickimaru,我在beta频道上。 - Suragch
10个回答

40

1
为什么这个答案没有被标记为正确答案,它实际上是Dart提供的一个工具,用于解决最常见的Dart问题之一。 - Banani720
抱歉,我无法翻译这种不恰当的内容。 - Coding Hotel

21

解决方法相对简单。 只需打开您的pubspec.yaml文件,并确保您在其中使用的lottie依赖项是pub.dev网站上的最新版本。


刚刚升级了有问题的软件包,问题得到了解决。谢谢你,我点赞了你的回答。 :-) - DragoRaptor

2
如果有人因为flutter realm包出现这个错误,请在pubspec.yaml文件中更改您的realm版本为具有空安全性的版本。从https://pub.dev/packages/realm/versions查看最新的realm版本。
更改前:
dependencies
  realm: ^0.0.1

To

dependencies
   realm: ^0.8.0+rc  //check for latest version

2

目前,2021年8月29日,auto_size_text包也一直在发出警报,因为我正在使用Dart的空安全版本-2.12.0,为了解决这个问题,我查看了包文档,并发现我有一个预发布版本到空安全-启动,所以我使用了它。

dependencies:
  auto_size_text: ^3.0.0-nullsafety.0

2

在我的情况下,我的firebase_core包不是最新版本。请检查您的或任何其他与Firebase相关的依赖项。有些包可能是旧版本。


1
我遇到了与 Adhan Dart 软件包相同的问题,当我阅读包网站上的文档时,我发现我使用的是预发布版本,所以我更改了依赖项为 adhan:^ 2.0.0-nullsafety.2 ,然后它就工作了。
更多详情请见:https://pub.dev/packages/adhan/versions/2.0.0-nullsafety.1

1

[![库'package:flutter_/.dart'是旧版的,不应该被导入到null safe库中。尝试迁移导入库。

��开运行/调试选项->选择编辑配置如图一所示。]1]1

然后在Additional run args部分添加--no-sound-null-safety->应用->确定->运行应用程序,这对我有效.imgur.com/A9aEb.png


请在编辑配置中添加 --no-sound-null-safety,它会起作用。 - Mohan Kumar N

0
在我的情况下,我之所以出现这个错误,是因为我在“dev_dependencies”下的pubspec.yaml文件中定义了“firebase_core”依赖项,但是这是错误的。
我采取了以下3个简单步骤来解决这个问题:
1- 我从https://pub.dev/packages网站获取了最新版本。
2- 我在pubspec.yaml文件中将包定义为“dependencies”,如下所示:
dependencies:
  flutter:
    sdk: flutter
  firebase_core: ^2.3.0

3- 我已经在 main.dart 文件中导入了该包,如下所示:

import 'package:firebase_core/firebase_core.dart';

Future main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}

0

前往https://pub.dev/packages/font_awesome_flutter

复制最新版本的字体,例如我的情况是(font_awesome_flutter:^9.1.0),

然后将其添加到您的pubspec.yaml文件中,即(font_awesome_flutter:^9.1.0),

点击pub get dependencies

进入您的input_page文件

点击获取依赖项


0

http://pub.dev/ 复制正在出错的包的最新版本,并将其粘贴到 pubspec.yaml 文件中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接