我有一个项目,我试图在 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 deintegrate
、pod install
、flutter clean
、flutter pub cache repair
等,它们都不适合我