首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >切换到空安全-坏状态:错误:包有未迁移的依赖项-自己的屏幕

切换到空安全-坏状态:错误:包有未迁移的依赖项-自己的屏幕
EN

Stack Overflow用户
提问于 2022-02-03 16:27:23
回答 2查看 988关注 0票数 1

我试图将一个颤振项目迁移到空安全。我得到的反馈是,所有的软件包都是兼容和升级的。当我运行dart迁移时,我自己的写屏幕(我想迁移)被批评为未迁移的依赖项。

1)

代码语言:javascript
复制
 $ dart pub outdated --mode=null-safety
    Resolving...
    Showing dependencies that are currently not opted in to null-safety.
    [x] indicates versions without null safety support.
    [+] indicates versions opting in to null safety.
    
    Computing null safety support...
    All your dependencies declare support for null-safety.

代码语言:javascript
复制
$ dart pub upgrade --null-safety
  ...
  dio: ^4.0.5-beta1 -> ^4.0.4
  firebase_core: ^1.11.0 -> ^1.12.0

代码语言:javascript
复制
$ dart pub get
  ...
  Got dependencies!

代码语言:javascript
复制
$ dart migrate
Analyzing project...
[-------------------------------------------------/]
Bad state: Error: package has unmigrated dependencies.

Before migrating your package, we recommend ensuring that every library it
imports (either directly or indirectly) has been migrated to null safety, so
that you will be able to run your unit tests in sound null checking mode.  You
are currently importing the following non-null-safe libraries:

  package:prosz/Screens/bottombar/tabbar.dart  
  package:prosz/Screens/chat.dart
  package:brosz/Screens/chatPost.dart
  ...
Please upgrade the packages containing these libraries to null safe versions
before continuing.  To see what null safe package versions are available, run
the following command: `dart pub outdated --mode=null-safety`.

To skip this check and try to migrate anyway, re-run with the flag
`--skip-import-check`.

版本

代码语言:javascript
复制
$ flutter --version
Flutter 2.8.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 77d935af4d (7 weeks ago) • 2021-12-16 08:37:33 -0800
Engine • revision 890a5fca2e
Tools • Dart 2.15.1

公规

代码语言:javascript
复制
environment:
  sdk: ">=2.1.0 <3.0.0"

将发布规范更改为sdk:">=2.12.0 <3.0.0“解决了问题,但导致:

代码语言:javascript
复制
311 analysis issues found 
..... 
The migration tool didn't start, due to analysis errors.

The following steps might fix your problem:
1. Set the lower SDK constraint (in pubspec.yaml) to a version before 2.12.
2. Run `dart pub get`.
3. Try running `dart migrate` again.
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-07 16:51:50

下面是我自己的答案:当运行"dart迁移“表单">=2.1.0 <3.0.0”和">=2.12.0 <3.0.0“时,发现的分析问题的数量并不相同。当我从">=2.12.0 <3.0.0“运行时,还有更多的内容。(尤其是错误的代码,因为dart认为代码已经被迁移了)

因此,正确的方法是从">=2.1.0 <3.0.0“开始”省道迁移“,并修复手工发现的分析问题。这些分析问题主要是升级包的语法更改,这些变化可以在pub.dev上找到,在相应的changelogs中可以找到。

如果您从Flacter2.8.1开始迁移,就会遇到这样的麻烦。

票数 0
EN

Stack Overflow用户

发布于 2022-02-03 17:06:59

在发布规范中将2.1.0更改为2.12.0

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70974880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档