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

相关文章

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

Xshell远程连接失败以及解决方案

《Xshell远程连接失败以及解决方案》本文介绍了在Windows11家庭版和CentOS系统中解决Xshell无法连接远程服务器问题的步骤,在Windows11家庭版中,需要通过设置添加SSH功能并... 目录一.问题描述二.原因分析及解决办法2.1添加ssh功能2.2 在Windows中开启ssh服务2

VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题

《VMWare报错“指定的文件不是虚拟磁盘“或“Thefilespecifiedisnotavirtualdisk”问题》文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟... 目录VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virt

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

python subprocess.run中的具体使用

《pythonsubprocess.run中的具体使用》subprocess.run是Python3.5及以上版本中用于运行子进程的函数,它提供了更简单和更强大的方式来创建和管理子进程,本文就来详细... 目录一、详解1.1、基本用法1.2、参数详解1.3、返回值1.4、示例1.5、总结二、subproce

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

PHP执行php.exe -v命令报错的解决方案

《PHP执行php.exe-v命令报错的解决方案》:本文主要介绍PHP执行php.exe-v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录执行phpandroid.exe -v命令报错解决方案执行php.exe -v命令报错-PHP War

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

CentOS系统使用yum命令报错问题及解决

《CentOS系统使用yum命令报错问题及解决》文章主要讲述了在CentOS系统中使用yum命令时遇到的错误,并提供了个人解决方法,希望对大家有所帮助,并鼓励大家支持脚本之家... 目录Centos系统使用yum命令报错找到文件替换源文件为总结CentOS系统使用yum命令报错http://www.cppc