I am trying to build a Dart application for Google App Engine but Dart can’t resolve any appengine dependency except for the 0.0.1 version. Here is my pubspec.yaml:
name: MyApp version: 0.0.1 dependencies: angular2: 2.0.0-alpha.44 browser: ^0.10.0 appengine: '>=0.3.0 < 0.4.0' transformers: - angular2: entry_points: web/main.dart
This is the error I get:
Package appengine has no versions that match >=0.3.0 <0.4.0 derived from: - MyApp depends on version >=0.3.0 <0.4.0
I have tried every appengine version from https://pub.dartlang.org/packages/appengine/versions but the only one that works is ^0.0.1
Downloading appengine 0.0.1... Got dependencies!
I would really like to use something newer than 0.0.1. Is something broken or am I missing something?
I ran in verbose mode as per Günter Zöchbauer’s suggestion and this is the output:
ERR : Package appengine has no versions that match >=0.0.2 <0.4.0 derived from: | - MyApp depends on version >=0.0.2 <0.4.0 FINE: Exception type: NoVersionException FINE: package:pub/src/entrypoint.dart 154 Entrypoint.acquireDependencies.<async> | ===== asynchronous gap =========================== | dart:async _Completer.completeError | package:pub/src/entrypoint.dart 199 Entrypoint.acquireDependencies.<async> | ===== asynchronous gap =========================== | dart:async _Future.then | package:pub/src/entrypoint.dart 152 Entrypoint.acquireDependencies.<async> | ===== asynchronous gap =========================== | dart:async Future.Future.microtask | package:pub/src/entrypoint.dart Entrypoint.acquireDependencies | package:pub/src/command/get.dart 30 GetCommand.run | package:args/command_runner.dart 178 CommandRunner.runCommand.<fn> | dart:async Future.Future.sync | package:args/command_runner.dart 131 CommandRunner.runCommand | package:pub/src/command_runner.dart 130 PubCommandRunner.runCommand.<async>.<fn> | dart:async Future.Future.sync | package:pub/src/utils.dart 103 captureErrors.<fn> | package:stack_trace Chain.capture | package:pub/src/utils.dart 117 captureErrors | package:pub/src/command_runner.dart 130 PubCommandRunner.runCommand.<async>
I expanded the version to include anything between 0.0.2 and 0.4.0 and it fails. It is definitely throwing a no version found error even though I can manually download the versions from the web.
This is a known issue with
pub. If it can’t resolve a matching set of dependencies it sometimes prints misleading messages.
pub upgrade --verbose
should reveal more information that allows to investigate what dependencies
pub is unable to find compatible versions of.
The conflict is the
0.3.2 depends on
2.0.0-alpha.44 depends on
2.0.0-alpha.45 also depends on
If you change your angular dependency to
pub can resolve all dependencies just fine.
Answered By – Günter Zöchbauer
Answer Checked By – Marilyn (FlutterFixes Volunteer)