![](/img/trans.png)
[英]The library 'package:vin_decoder/vin_decoder.dart' is legacy, and should not be imported into a null safe library
[英]The library 'package:flutter/material.dart' is legacy, and should not be imported into a null safe library
我有一個 null-safe 庫,在示例文件夾中我使用了以下導入:
import 'package:flutter/material.dart';
但是,linter 給我以下警告:
庫“package:flutter/material.dart”是遺留的,不應導入到 null 安全庫中。 嘗試遷移導入的庫。 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 添加其他內容還是等待穩定版本發布?
使用dart pub outdated --mode=null-safety
然后dart pub upgrade --null-safety
將所有依賴項升級到 null-safety。
有關詳細信息 go 至https://dart.dev/null-safety/migration-guide 。
對此的修復相對簡單。 只需將 go 復制到您的 pubspec.yaml 文件,並確保您在那里的樂天依賴關系是 pub.dev 站點上的最新版本。
目前,在 2021 年 8 月 29 日, uto_size_text package 也一直發出此警報,因為我使用的是 Null 安全版本 Dart - 2.12.0,為了解決這個問題,我查看了 package 文檔,發現我有一個Prerelease version to Null Safety - launch,所以用了。
dependencies:
auto_size_text: ^3.0.0-nullsafety.0
我在Adhan Dart package 上遇到了同樣的問題,當我閱讀 package 網站上的文檔時,我有預發布版本,所以我將依賴項更改為adhan: ^2.0.0-nullsafety.2
並且它有效。
更多詳情: https://pub.dev/packages/adhan/versions/2.0.0-nullsafety.1
如果有人因為 flutter realm package 來這里尋找這個錯誤。請將pubspec.yaml
文件中的 realm 版本更改為具有 null 安全性的版本。 從https://pub.dev/packages/realm/versions查看最新的 realm 版本。
更改自
dependencies
realm: ^0.0.1
到
dependencies
realm: ^0.8.0+rc //check for latest version
go 到https://pub.dev/packages/font_awesome_flutter ,
在我的例子中復制最新版本的字體 ie (font_awesome_flutter: ^9.1.0),
然后將其添加到您的 pubspec.yaml 文件中,即 (font_awesome_flutter: ^9.1.0),
單擊 pub 獲取依賴項
go 到您的 input_page 文件
單擊獲取依賴項
從http://pub.dev/復制最新版本的 package,並將其粘貼到 pubspec.yaml 文件中。
就我而言,我收到此錯誤是因為我在 pubspec.yaml 文件中的“dev_dependencies”下定義了“firebase_core”依賴項,但這是錯誤的。
我已經完成了 3 個簡單的步驟來解決問題,如下所示:
1- 我從https://pub.dev/packages網站獲得了最新版本。
2- 我在 pubspec.yaml 文件中的“依賴項”下定義了如下包:
dependencies:
flutter:
sdk: flutter
firebase_core: ^2.3.0
3- 我在 main.dart 文件中導入了 package,如下所示:
import 'package:firebase_core/firebase_core.dart';
Future main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
在我的例子中,我的 firebase_core package 不是最新版本。 請檢查您的或任何其他 firebase 相關的依賴項。 一些軟件包可能是舊版本。
如果要使用 null 安全性,要么等待穩定版本,以便所有依賴項都可以支持 null 安全性。
或者,您可以通過切換到 Flutter SDK 的 beta 通道來使用 null 安全性。
使用以下命令切換到 flutter beta 通道。
$ flutter channel beta
$ flutter upgrade
如果您正在處理生產代碼,請小心,因為這可能會破壞代碼中的某些內容。 如果您正在進行生產,請堅持使用 flutter 穩定通道。
您可以使用以下命令檢查依賴關系狀態:
$ dart pub outdated --mode=null-safety
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.