[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fxpUsixK1vcMuI338yUl3hygf1Y6MyHNX-H5Exjbs5DA":3},{"code":4,"message":5,"data":6},200,"成功",{"id":7,"createdAt":8,"title":9,"content":10,"summary":11,"image":12,"uid":13,"user":14,"categoryId":21,"category":22,"subCategoryId":24,"subCategory":25,"comments":27,"status":17,"reason":28,"notice":28,"visitCount":29,"commentCount":30,"keywords":31},160,"2025-04-28T10:30:15.06Z","flutter error: intl is pinned to version 0.20.2 by flutter_localizations from the flutter SDK...","本文记录一下在flutter切换channel后的工程编译报错问题。\n\n## 本地flutter环境\n```terminal\nFlutter 3.32.0-0.1.pre • channel beta • https://github.com/flutter/flutter.git\nFramework • revision eeb81b9a8a (2 weeks ago) • 2025-04-11 12:11:52 -0700\nEngine • revision 72ee26e314 (3 weeks ago) • 2025-04-09 15:57:49 -0700\nTools • Dart 3.8.0 (build 3.8.0-278.1.beta) • DevTools 2.45.0\n```\n\n![flutter version](https://image.xinwei.ltd/image1745835466070.png)\n\n\n## 问题1\n> Resolving dependencies...\nNote: intl is pinned to version 0.20.2 by flutter_localizations from the flutter SDK.\nSee https://dart.dev/go/sdk-version-pinning for details.\n>\n> Because no versions of flutter_styled_toast match >2.2.1 \u003C3.0.0 and flutter_styled_toast 2.2.1 depends on flutter_localizations from sdk, flutter_styled_toast ^2.2.1 requires flutter_localizations from sdk.\nAnd because every version of flutter_localizations from sdk depends on intl 0.20.2, flutter_styled_toast ^2.2.1 requires intl 0.20.2.\nSo, because xxx_app depends on both intl ^0.19.0 and flutter_styled_toast ^2.2.1, version solving failed.\nFailed to update packages.\n\n报错截图：\n![intl error](https://image.xinwei.ltd/image1745835281510.png)\n\n这个问题指的是，`flutter_styled_toast`依赖的`intl`的库是`0.20.2`，但是当前工程依赖的`intl`版本是`^0.19.0`，所以面对这样的报错，升级`intl`的库就好。\n\n解决方式：\n```pubspec.yaml\n...\nintl: ^0.20.2 # 之前是^0.19.0\n...\n```\n![intl png](https://image.xinwei.ltd/image1745835532477.png)\n\n\n## 问题2\n> Resolving dependencies...\nBecause scroll_datetime_picker 0.2.1 depends on intl ^0.19.0 and no versions of scroll_datetime_picker match >0.2.1 \u003C0.3.0, scroll_datetime_picker ^0.2.1 requires intl ^0.19.0.\nSo, because mustche_app depends on both intl ^0.20.2 and scroll_datetime_picker ^0.2.1, version solving failed.\nFailed to update packages.\n\n问题截图：\n![scroll_datetime_picker version image](https://image.xinwei.ltd/image1745835665615.png)\n\n问题分析：\n在问题1中，修改`intl`的版本为`^0.20.2`后，但是另外一个package `scroll_datetime_picker`依赖的是`^0.19.0`，所以又出现了版本冲突。\n\n那么有2种解决方式：\n- 去查询`scroll_datetime_picker ^0.2.1`这个package是否有支持`intl: ^0.20.2`的版本，有的话，就更新。但是这种方式只能解决当前这个package的版本依赖，并不能确保其他package也能支持`intl: ^0.20.2`。\n(当前`0.2.1`版本的`scroll_datetime_picker`没有支持`intl: ^0.20.2`)\n[https://pub.dev/packages/scroll_datetime_picker](https://pub.dev/packages/scroll_datetime_picker)\n\n![scroll_datetime_picker version image](https://image.xinwei.ltd/image1745836063881.png)\n\n\n- 覆盖所有的intl版本依赖。\n\n那么我们使用第二种方式，将所有依赖的`intl` package都覆盖掉。\n\n### 解决方式\n![dependency_overrides image](https://image.xinwei.ltd/image1745836116006.png)\n如上截图，添加`dependency_overrides`:\n```pubspec.yaml\n...\ndependency_overrides:\n  win32: ^5.5.4\n  intl: ^0.20.2\n...\n```\n\n这样修改后，以上的2个报错都解决了，工程正常运行。\n\n欢迎交流。\n\n\n\n\n\n","记一次flutter更改channel后的工程编译报错问题，内容是intl和flutter_styled_toast的版本冲突。","https://image.xinwei.ltd/image1745835466070.png",499668042977349,{"phone":15,"userId":13,"nickName":16,"vipType":17,"avatar":18,"sign":19,"createdAt":20},"13121171998","全栈老韩",1,"https://image.xinwei.ltd/images/IMG_5430.JPG","全栈工程师，擅长iOS App开发、前端（vue、react、nuxt、小程序&Taro）开发、Flutter、React Native、后端（midwayjs、golang、express、koa）开发、docker容器、seo优化等。","2024-01-01T16:14:30.305Z",2,{"id":21,"name":23},"IT技术",11,{"id":24,"name":26,"parentId":21},"Flutter",[],"",101,0,"intl,flutter_localizations,flutter_styled_toast,version solving failed,flutter error,flutter Resolving dependencies,flutter intl"]