Flutter graphql/graphql_flutter 包抛出:非抽象类“GraphQLWebSocketChannel”缺少实现

问题描述 投票:0回答:0

我有一个项目,我试图在 flutter 中连接到 graphql API,我尝试安装 graphql flutter 包,当我尝试构建项目时出现以下错误。我试过播放 sdk 版本,但都是同样的错误

 Writing result bundle at path:
    /var/folders/71/5s_xdvm50d1bcj4q8zf_41j40000gp/T/flutter_tools.l4Y5sf/flutter_ios_build_temp_dir1J1YUm/t
    emporary_xcresult_bundle

../../flutter/.pub-cache/hosted/pub.dartlang.org/graphql-5.1.2/lib/src/links/websocket_link/websocket_cli
ent.dart:577:7: Error: The non-abstract class 'GraphQLWebSocketChannel' is missing implementations for
these members:
 - WebSocketChannel.ready
Try to either
 - provide an implementation,
 - inherit an implementation from a superclass or mixin,
 - mark the class as abstract, or
 - provide a 'noSuchMethod' implementation.

class GraphQLWebSocketChannel extends StreamChannelMixin<dynamic>
      ^^^^^^^^^^^^^^^^^^^^^^^
../../flutter/.pub-cache/hosted/pub.dartlang.org/web_socket_channel-2.3.0/lib/src/channel.dart:56:22:
Context: 'WebSocketChannel.ready' is defined here.
  final Future<void> ready = Future.value();
                     ^^^^^
Failed to package /Users/nazehabel/mobile-projects/aysquared.
Command PhaseScriptExecution failed with a nonzero exit code
note: Building targets in dependency order

我的安装版本是 graphql-5.1.1,我一直看到它引用了 graphql-5.1.2 版本的错误,对于 graphql_flutter: ^5.1.0 也发生了同样的事情,从我的本地缓存 pubspec 中引用 graphql_flutter: ^5.1.2 时抛出同样的错误,我想知道我需要更改什么才能获得一个他们中的一个使用正确的版本而不引用不同的缓存版本。

下面是我的 pubspec.yaml

description: A new Flutter project.

module:
  androidX: true
publish_to: 'none' # Remove this line if you wish to publish to pub.dev

version: 1.0.0

environment:
  sdk: '>=2.17.5 <4.0.0'
  flutter: '>=2.5.3 <3.0.0'
dependencies:
  cupertino_icons: ^1.0.2
  dio: ^4.0.6
  file_picker: ^5.2.4
  flutter:
    sdk: flutter
  flutter_dotenv: ^5.0.2
  flutter_riverpod: ^2.0.2
  flutter_screenutil: ^5.6.0
  flutter_secure_storage: ^7.0.1
  flutter_smart_dialog: ^4.8.0
  flutter_spinkit: ^5.1.0
  flutter_svg: ^1.1.6
  freezed: ^2.2.1
  freezed_annotation: ^2.2.0
  get_it: ^7.2.0
  hooks_riverpod: ^2.1.1
  image_picker: ^0.8.6
  intl: ^0.17.0
  intl_phone_number_input: ^0.7.1
  oktoast: ^3.3.1
  provider: ^6.0.5
  riverpod_annotation: ^1.0.4
  sliding_up_panel: ^2.0.0+1
  timer_count_down: ^2.2.1
  url_launcher: ^6.1.7
  visibility_detector: ^0.3.3
  syncfusion_flutter_charts: ^20.4.42
  syncfusion_localizations: ^20.4.42
  desktop_window: ^0.4.0
  localization: ^2.1.0
  flutter_localizations:
    sdk: flutter
  fl_chart: ^0.55.2
  percent_indicator: ^4.2.2
  charts_flutter: ^0.12.0
  pinput: ^2.2.21
  google_fonts: ^3.0.1
  dropdown_button2: ^1.9.2
  dotted_line: ^3.1.0
  flutter_staggered_grid_view: ^0.6.2
  trash_themes: ^0.0.2
  graphql: ^5.1.1
  graphql_flutter: ^5.1.0


flutter_native_splash:
  android: true
  ios: true
  image: assets/images/logo-white.png
  android_gravity: center
  ios_content_mode: center
  color: "#FFFFFF"

dev_dependencies:
  flutter_test:
    sdk: flutter

  build_runner: ^2.3.2
  riverpod_generator: ^1.0.4
  flutter_native_splash: ^2.1.6
  flutter_lints: ^2.0.0
flutter:

 
  uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  assets:
    # - assets/images
    - .env
    - assets/images/
    - assets/images/categories_images/
    - assets/images/grocery_images/
    - assets/images/beverages_images/
    - assets/icons/
    - assets/icons/account_icons/
    - assets/fonts/

  fonts:
    - family: Gilroy
      fonts:
        - asset: assets/fonts/gilroy/Gilroy-Regular.ttf
        - asset: assets/fonts/gilroy/Gilroy-SemiBold.ttf
        - asset: assets/fonts/gilroy/Gilroy-Bold.otf

我已尝试按照此处的解决方案graphql_flutter 错误:非抽象类“GraphQLWebSocketChannel”缺少实现pod deintegratepod installflutter cleanflutter pub cache repair 等,它们都不适合我

flutter graphql cross-platform flutter-dependencies
© www.soinside.com 2019 - 2024. All rights reserved.