flutter packages pub run build_runner build 失败报错

2024-02-12 09:50

本文主要是介绍flutter packages pub run build_runner build 失败报错,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

sdk: ">=2.3.0 <3.0.0"
最新版本
dependencies:json_annotation: ^4.4.0
dev_dependencies:build_runner: ^2.1.7json_serializable: ^6.1.3报错:Generator cannot target libraries that have not been migrated to null-safety.

sdk: ">=2.12.0 <3.0.0"
最新版本
dependencies:
  json_annotation: ^3.0.0
dev_dependencies:
  build_runner: ^1.6.7
  json_serializable: ^3.2.2

报错:Failed to build build_runner:build_runner:
../../../../flutter/.pub-cache/hosted/pub.flutter-io.cn/analyzer-0.41.2/lib/src/error/best_practices_verifier.dart:258:50: Error: The property 'displayString' is defined in multiple extensions for 'TargetKind' and neither is more specific.
 - 'TargetKind' is from 'package:meta/meta_meta.dart'

原因:sdk: ">=2.12.0 <3.0.0"才对,网上说要把json_annotation和json_serializable降到3.X的版本,我试了不行,使用sdk: >=2.3.0原因是避免代码很多判空问题,一下方法使用也有变化,改成2.12.0后,所有代码重新修改,我试过,很多方法得重新修改,直接让我崩溃,有极个别的return里面完全不知道怎么改,反正怎么改也不对.

所以用:sdk: ">=2.3.0 <3.0.0",json_annotation: ^4.4.0,build_runner: ^2.1.7,

json_serializable: ^6.1.3

或者:sdk: ">=2.12.0 <3.0.0",json_annotation: ^3.0.0,build_runner: ^1.6.7,

json_serializable: ^3.2.2

都是不成功的。

解决办法:

1.新建一个测试项目(一定要新建)

2.测试项目环境依赖配置 

sdk: ">=2.3.0 <3.0.0"(固定死的,不要变)

下面的可用最新版本,也可用下面版本

dependencies:
  json_annotation: ^4.4.0

dev_dependencies:
  build_runner: ^2.1.7
  json_serializable: ^6.1.3

3.复制需要的类到lib下,不知道怎么写的参考下图或者参考官网

json_serializable | Dart Package

4.控制台输入

flutter packages pub run build_runner build

5.我们的正式项目要配置依赖(可用最新版本),虽然执行flutter packages pub run build_runner build会报错,但要引入,其他方面不会影响,程序可以正常运行

dependencies:
  json_annotation: ^4.4.0

dev_dependencies:
  build_runner: ^2.1.7
  json_serializable: ^6.1.3

6.把测试项目生成的文件拷贝到我们的正式项目models下,麻烦是麻烦了点但不会起冲突,非常有用,建议收藏

这篇关于flutter packages pub run build_runner build 失败报错的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/702321

相关文章

idea报错java: 非法字符: ‘\ufeff‘的解决步骤以及说明

《idea报错java:非法字符:‘ufeff‘的解决步骤以及说明》:本文主要介绍idea报错java:非法字符:ufeff的解决步骤以及说明,文章详细解释了为什么在Java中会出现uf... 目录BOM是什么?1. BOM的作用2. 为什么会出现 \ufeff 错误?3. 如何解决 \ufeff 问题?最

解决Maven项目报错:failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题

《解决Maven项目报错:failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题》这篇文章主要介... 目录Maven项目报错:failed to execute goal org.apache.maven.pl

Flutter实现文字镂空效果的详细步骤

《Flutter实现文字镂空效果的详细步骤》:本文主要介绍如何使用Flutter实现文字镂空效果,包括创建基础应用结构、实现自定义绘制器、构建UI界面以及实现颜色选择按钮等步骤,并详细解析了混合模... 目录引言实现原理开始实现步骤1:创建基础应用结构步骤2:创建主屏幕步骤3:实现自定义绘制器步骤4:构建U

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf