You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:执行pubUpgrade后出现dart:js_interop库不可用问题

解决Error: Dart library 'dart:js_interop' is not available on this platform问题
  • 排查依赖包版本变更
    执行pub upgrade后大概率是某个依赖包更新时引入了仅Web平台可用的dart:js_interop。先查看pubspec.lock对比版本差异,定位最近更新的依赖包,找到可疑包后,在pubspec.yaml中临时指定回退到之前正常的版本号,再执行flutter pub get测试是否恢复。

  • 用条件导入隔离Web专属代码
    如果是自己的代码涉及跨平台JS交互,必须通过条件导入确保非Web环境不加载dart:js_interop:

    1. 创建通用入口文件js_handler.dart:
      export 'js_handler_web.dart' if (dart.library.io) 'js_handler_mobile.dart';
      
    2. Web平台实现文件js_handler_web.dart:
      import 'dart:js_interop';
      // 编写Web端JS交互逻辑
      
    3. 非Web平台实现文件js_handler_mobile.dart:
      // 空实现或移动端替代逻辑
      

    彻底移除通用代码里直接导入dart:js_interop的语句。

  • 升级Flutter SDK到稳定版
    部分旧版Flutter SDK对dart:js_interop的跨平台支持不完善,执行以下命令升级:

    flutter channel stable
    flutter upgrade
    

    升级后依次执行flutter clean和flutter pub get,重新运行项目。

  • 检查间接依赖的平台限制
    有些依赖可能间接引用了dart:js_interop,用flutter pub deps查看完整依赖树,找出仅支持Web平台的包。如果项目需要在非Web环境运行,要么移除该依赖,要么通过kIsWeb条件编译控制其仅在Web端生效。

内容的提问来源于stack exchange,提问作者sok vathanak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 18:45:06