I'm trying to run a web app with the Dart 2 SDK using webdev
. I finally got the dependencies to resolve successfully, but now pub get
cannot precompile the async
package.
I found this issue that seems relevant, but the pub global run
workaround they suggested did not work: https://github.com/dart-lang/pub/issues/1932
pubspec.yaml
environment:
sdk: '>=2.0.0-dev.68.0 <3.0.0'
dependencies:
browser_detect: ^1.0.4
dnd: ^1.2.0
firebase: ^0.5.0
gorgon: ^0.14.2
intl: ^0.15.6
jsonx: ^2.0.2
slack: ^1.2.2
stagexl: ^1.3.1+4
xml: ^3.0.0
dev_dependencies:
build_runner: '>=0.8.10 <0.10.0'
build_web_compilers: '>=0.3.6 <0.5.0'
pub get
Dart VM version: 2.0.0-dev.69.0 (Unknown timestamp) on "linux_x64"
Resolving dependencies...
Overriding the upper bound Dart SDK constraint to <=2.0.0-dev.69.0 for the following packages:
args, async, browser, browser_detect, coUemoticons, convert, cou_toolkit, edit_distance, firebase, fixnum, glob, gorgon, graphs, http_parser, js, jsonx, libld, logging, meta, petitparser, pub_semver, quiver, quiver_iterables, scproxy, slack, source_span, stack_trace, stagexl, string_scanner, transmit, typed_data, xml
To disable this you can set the PUB_ALLOW_PRERELEASE_SDK system environment variable to `false`, or you can silence this message by setting it to `quiet`.
Got dependencies!
Precompiling executables...
Failed to precompile build_runner:graph_inspector:
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/typed/stream.dart:56:10: Error: The return type of the method 'TypeSafeStream::firstWhere' is dart.async::Future<dynamic>, which does not match the return type of the overridden method (dart.async::Future<#lib1::TypeSafeStream::T>).
Change to a subtype of dart.async::Future<#lib1::TypeSafeStream::T>.
Future firstWhere(bool test(T element), {Object defaultValue()}) =>
^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/typed/stream.dart:56:10: Error: The method 'TypeSafeStream::firstWhere' doesn't have the named parameter 'orElse' of overriden method 'Stream::firstWhere'.
Future firstWhere(bool test(T element), {Object defaultValue()}) =>
^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/typed/stream.dart:59:10: Error: The return type of the method 'TypeSafeStream::lastWhere' is dart.async::Future<dynamic>, which does not match the return type of the overridden method (dart.async::Future<#lib1::TypeSafeStream::T>).
Change to a subtype of dart.async::Future<#lib1::TypeSafeStream::T>.
Future lastWhere(bool test(T element), {Object defaultValue()}) =>
^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/typed/stream.dart:59:10: Error: The method 'TypeSafeStream::lastWhere' doesn't have the named parameter 'orElse' of overriden method 'Stream::lastWhere'.
Future lastWhere(bool test(T element), {Object defaultValue()}) =>
^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/typed/stream.dart:62:13: Error: The method 'TypeSafeStream::singleWhere' has fewer named arguments than those of overridden method 'Stream::singleWhere'.
Future<T> singleWhere(bool test(T element)) async =>
^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/restartable_timer.dart:11:7: Error: The non-abstract class 'RestartableTimer' is missing implementations for these members:
'tick'.
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 RestartableTimer implements Timer {
^^^^^^^^^^^^^^^^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/result/capture_transformer.dart:15:7: Error: The non-abstract class 'CaptureStreamTransformer' is missing implementations for these members:
'cast'.
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 CaptureStreamTransformer<T> implements StreamTransformer<T, Result<T>> {
^^^^^^^^^^^^^^^^^^^^^^^^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/result/release_transformer.dart:12:7: Error: The non-abstract class 'ReleaseStreamTransformer' is missing implementations for these members:
'cast'.
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 ReleaseStreamTransformer<T> implements StreamTransformer<Result<T>, T> {
^^^^^^^^^^^^^^^^^^^^^^^^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/single_subscription_transformer.dart:16:7: Error: The non-abstract class 'SingleSubscriptionTransformer' is missing implementations for these members:
'cast'.
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 SingleSubscriptionTransformer<S, T> implements StreamTransformer<S, T> {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/typed_stream_transformer.dart:23:7: Error: The non-abstract class '_TypeSafeStreamTransformer' is missing implementations for these members:
'cast'.
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 _TypeSafeStreamTransformer<S, T> implements StreamTransformer<S, T> {
^^^^^^^^^^^^^^^^^^^^^^^^^^
Failed to precompile build_runner:build_runner:
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/typed/stream.dart:56:10: Error: The return type of the method 'TypeSafeStream::firstWhere' is dart.async::Future<dynamic>, which does not match the return type of the overridden method (dart.async::Future<#lib1::TypeSafeStream::T>).
Change to a subtype of dart.async::Future<#lib1::TypeSafeStream::T>.
Future firstWhere(bool test(T element), {Object defaultValue()}) =>
^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/typed/stream.dart:56:10: Error: The method 'TypeSafeStream::firstWhere' doesn't have the named parameter 'orElse' of overriden method 'Stream::firstWhere'.
Future firstWhere(bool test(T element), {Object defaultValue()}) =>
^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/typed/stream.dart:59:10: Error: The return type of the method 'TypeSafeStream::lastWhere' is dart.async::Future<dynamic>, which does not match the return type of the overridden method (dart.async::Future<#lib1::TypeSafeStream::T>).
Change to a subtype of dart.async::Future<#lib1::TypeSafeStream::T>.
Future lastWhere(bool test(T element), {Object defaultValue()}) =>
^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/typed/stream.dart:59:10: Error: The method 'TypeSafeStream::lastWhere' doesn't have the named parameter 'orElse' of overriden method 'Stream::lastWhere'.
Future lastWhere(bool test(T element), {Object defaultValue()}) =>
^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/typed/stream.dart:62:13: Error: The method 'TypeSafeStream::singleWhere' has fewer named arguments than those of overridden method 'Stream::singleWhere'.
Future<T> singleWhere(bool test(T element)) async =>
^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/restartable_timer.dart:11:7: Error: The non-abstract class 'RestartableTimer' is missing implementations for these members:
'tick'.
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 RestartableTimer implements Timer {
^^^^^^^^^^^^^^^^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/result/capture_transformer.dart:15:7: Error: The non-abstract class 'CaptureStreamTransformer' is missing implementations for these members:
'cast'.
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 CaptureStreamTransformer<T> implements StreamTransformer<T, Result<T>> {
^^^^^^^^^^^^^^^^^^^^^^^^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/result/release_transformer.dart:12:7: Error: The non-abstract class 'ReleaseStreamTransformer' is missing implementations for these members:
'cast'.
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 ReleaseStreamTransformer<T> implements StreamTransformer<Result<T>, T> {
^^^^^^^^^^^^^^^^^^^^^^^^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/single_subscription_transformer.dart:16:7: Error: The non-abstract class 'SingleSubscriptionTransformer' is missing implementations for these members:
'cast'.
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 SingleSubscriptionTransformer<S, T> implements StreamTransformer<S, T> {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
file:///home/andy/.pub-cache/hosted/pub.dartlang.org/async-1.13.3/lib/src/typed_stream_transformer.dart:23:7: Error: The non-abstract class '_TypeSafeStreamTransformer' is missing implementations for these members:
'cast'.
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 _TypeSafeStreamTransformer<S, T> implements StreamTransformer<S, T> {
^^^^^^^^^^^^^^^^^^^^^^^^^^
Am I doing something wrong in my pubspec.yaml
, or is there an issue with async
or another package? This project has worked fine for about 4 years now, but I can't get it to work in Dart 2. Any help is appreciated.