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

Flutter运行报错:dart:html不可用及WebSocket类型未找到

问题描述

Flutter应用此前运行正常,当前出现平台兼容报错,已尝试清理缓存、执行flutter clean及删除build目录,问题未解决。报错信息如下:

/C:/Users/PC/AppData/Local/Pub/Cache/hosted/pub.dev/get-4.6.6/lib/get_connect/sockets/src/sockets_html.dart:4:8: Error: Dart library 'dart:html' is not available on this platform.
import 'dart:html';
       ^
Context: The unavailable library 'dart:html' is imported through these packages:

   package:ecommapptest => package:get => dart:html

Detailed import paths for (some of) the these imports:

package:ecommapptest/main.dart => package:ecommapptest/views/introduction_screen.page.dart => package:ecommapptest/views/apphomepage.dart => package:ecommapptest/views/uicomponents/drawercontent.dart => package:ecommapptest/views/uicomponents/profile.dart => package:ecommapptest/views/testphp/testnavigationlist.dart => package:get/get_connect/sockets/src/sockets_html.dart => dart:html

/C:/Users/PC/AppData/Local/Pub/Cache/hosted/pub.dev/get-4.6.6/lib/get_connect/sockets/src/sockets_html.dart:11:3: Error: Type 'WebSocket' not found.
  WebSocket? socket;
  ^^^^^^^^^
/C:/Users/PC/AppData/Local/Pub/Cache/hosted/pub.dev/get-4.6.6/lib/get_connect/sockets/src/sockets_html.dart:11:3: Error: 'WebSocket' isn't a type.
  WebSocket? socket;
报错原因

dart:html是仅支持Web平台的Dart库,当前运行环境为移动/桌面平台(如Android、iOS、Windows),但GetX 4.6.6版本的sockets_html.dart文件被错误导入,导致平台不兼容。

解决方法
  • 升级GetX到最新稳定版
    旧版本GetX存在平台导入逻辑缺陷,升级可修复该问题:

    flutter pub upgrade get
    

    执行后再运行flutter clean和flutter pub get,重新编译应用。

  • 排查并移除不必要的Web依赖
    从导入链可知,报错源于testnavigationlist.dart间接引入了GetX的Web端WebSocket模块。若应用无需WebSocket功能,直接移除相关导入和代码;若需要WebSocket,确保使用GetX支持多平台的实现,避免仅引入Web端模块。

  • 添加条件导入(自定义GetX模块时)
    若你自行封装了GetX网络相关代码,使用条件导入区分平台:

    // 自动根据平台选择对应模块
    import 'package:get/get_connect/sockets/src/sockets_io.dart'
        if (dart.library.html) 'package:get/get_connect/sockets/src/sockets_html.dart';
    
  • 明确指定运行平台
    若误触发了Web平台的代码逻辑,明确指定目标平台运行,例如:

    # 运行Android
    flutter run -d android
    # 运行Windows
    flutter run -d windows
    

内容的提问来源于stack exchange,提问作者Operateur mar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 12:25:14