2015-10-30 3 views
3

Я пытаюсь создать приложение Dart для Google App Engine, но Dart не может решить любую зависимость appengine, за исключением версии 0.0.1. Вот мой pubspec.yaml:Невозможно разрешить зависимость Dart App Engine

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 

Это ошибка, я получаю:

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 

Я пробовал все версии Appengine от https://pub.dartlang.org/packages/appengine/versions но только тот, который работает в^0.0.1

Downloading appengine 0.0.1... 
Got dependencies! 

Я бы очень хотел использовать что-то более новое, чем 0.0.1. Что-то сломано или я что-то упускаю?

* Обновление: Я побежал в расширенном режиме, согласно предложению Гюнтера Zöchbauer и это выход:

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> 

я расширил версию, чтобы включить что-нибудь между 0.0.2 и 0.4.0, и он выходит из строя. Это определенно бросает ошибку, не найденную в версии, хотя я могу вручную загрузить версии из Интернета.

+0

Я обновил свой ответ. Просто добавив, что версия angular2 dpendency с '^' должна исправить вашу проблему, за исключением того, что у вас есть определенная причина блокировать версию '* .45'. –

ответ

1

Это известная проблема с pub. Если он не может решить соответствующий набор зависимостей, он иногда печатает вводящие в заблуждение сообщения.

pub upgrade --verbose 

должен раскрывать больше информации, что позволяет выяснить, какие зависимости pub не удается найти совместимые версии.

Конфликт protobuf.
appengine0.3.2 зависит от protobuf0.5.0
angular22.0.0-alpha.44 зависит от protobuf0.4.2
но angular22.0.0-alpha.45 также зависит от protobuf0.5.0

Если изменить угловую зависимость к

angular2: ^2.0.0-alpha.44 

или

angular2: 2.0.0-alpha.45 

или

angular2: ^2.0.0-alpha 

паб может решить все зависимости просто отлично.

+1

Удивительный! Это работало как чемпион. Спасибо! – Gremash

Смежные вопросы