尝试从 youtube-search-tutorial 实现 BLoC 时出现颤振错误
Posted
技术标签:
【中文标题】尝试从 youtube-search-tutorial 实现 BLoC 时出现颤振错误【英文标题】:Flutter error while triying to implement BLoC from youtube-search-tutorial 【发布时间】:2019-07-20 08:05:41 【问题描述】:我在 Flutter 中实现 BLoC 时遇到问题,我按照本教程进行操作:https://github.com/ResoCoder/youtube-search-flutter-bloc
但我收到以下无法调试的编译器消息:
Compiler message:
file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/bloc-0.8.4/lib/src/bloc.dart:24:44: Error: No named parameter with the name 'seedValue'.
_stateSubject = BehaviorSubject<State>(seedValue: initialState);
^^^^^^^^^
file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/rxdart-0.21.0/lib/src/subjects/behavior_subject.dart:49:11: Context: Found this candidate, but the arguments don't match.
factory BehaviorSubject(
^
Compiler failed on /home/rafa/androidStudioProjects/news/lib/main.dart
Finished with error: Gradle task assembleDebug failed with exit code 1
我正在使用:
Flutter 1.2.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 8661d8aecd (12 days ago) • 2019-02-14 19:19:53 -0800
Engine • revision 3757390fa4
Tools • Dart 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)
关于如何修复此错误的任何想法? 谢谢!
【问题讨论】:
【参考方案1】:我发现了问题,rxdart: 0.21.0 已被重构并破坏 bloc 0.8.4,为了解决此问题,将 rxdart: 0.20.0 添加为 pubspec.loc 的依赖项
【讨论】:
谢谢。请问你是怎么发现的? 这是一个痛苦的调试...但是当我看到错误出现在来自第三方包的调用之间时,特别是 rxdart 包我更新了它,这解决了我的问题...跨度> 【参考方案2】:我能够通过使用最新的 flutter_bloc 依赖项来解决此问题,目前是 flutter_bloc: ^0.8.0。
【讨论】:
【参考方案3】:使用最新版本:
rxdart: ^0.24.1
bloc: ^4.0.0
flutter_bloc: ^4.0.0
别忘了:
flutter clean // in case of any error
flutter pub get
如果您更新flutter_bloc
,则必须更新bloc
。那是因为flutter_bloc
依赖于bloc
。
还请注意,您不能使用最新的rxdart
,因为bloc
依赖于rxdart >=0.18.1 <0.21.0
,这实际上很痛苦。
【讨论】:
以上是关于尝试从 youtube-search-tutorial 实现 BLoC 时出现颤振错误的主要内容,如果未能解决你的问题,请参考以下文章
我正在尝试从 pyspark 访问 mysql 表。我正在尝试使用: