2016-07-24 3 views
0

Я только начал изучать дартс.Пакет "dart_to_js_script_rewriter" не является зависимым

Сначала я создал проект, основанный на углах2-дартс, от https://angular.io/docs/dart/latest/quickstart.html, и он работал правильно.

теперь я хочу, чтобы добавить пакет дротика auth0-замок из https://pub.dartlang.org/packages/auth0_lock, поэтому я изменил pubspec.yaml к следующему:

name: go_dart_angular2_zingchart 
description: Go Dart Angular2 with ZingChart Started Kit 
version: 0.0.1 
environment: 
    sdk: '>=1.13.0 <2.0.0' 
dependencies: 
    angular2: ^2.0.0-beta.18 
    browser: ^0.10.0 
    dart_to_js_script_rewriter: ^1.0.1 
    auth0_lock: ^0.1.0 
transformers: 
- angular2: 
    platform_directives: 
    - 'package:angular2/common.dart#COMMON_DIRECTIVES' 
    platform_pipes: 
    - 'package:angular2/common.dart#COMMON_PIPES' 
    entry_points: client/web/main.dart 
- dart_to_js_script_rewriter 

и теперь, когда я исполняю pub get я получаю следующее сообщение об ошибке:

Error on line 15, column 3 of ../../../.pub-cache/hosted/pub.dartlang.org/auth0_lock-0.1.0/pubspec.yaml: Error loading transformer "dart_to_js_script_rewriter": package "dart_to_js_script_rewriter" is not a dependency. 
- dart_to_js_script_rewriter 
    ^^^^^^^^^^^^^^^^^^^^^^^^^^ 

, так как я новичок в дротик и не совсем уверен, что я делаю .. я понятия не имею, как это исправить :)

любые идеи?

спасибо!

ответ

2

Я получаю ту же ошибку при добавлении auth0_lock: ^0.1.0 к моим зависимостям и работает pub get. В сообщении об ошибке говорится, что «dart_to_js_script_rewriter» не является зависимостью в pubspec.yaml пакета auth0_lock. Похоже, что он добавлен под номером dev_dependecies, если вы посмотрите here. Dev dependencies любых зависимых пакетов игнорируются. Паб получает только ваших зависимых зависимостей пакета.

Таким образом, я думаю, что это проблема в их пакете.

Итак, что я сделал, я пошел в https://github.com/andresaraujo/auth0_lock.dart и клонировал пакет, добавив его в свой собственный корень проекта в каталоге auth0_lock. А потом, в моем pubspec.yaml я поставил:

auth0_lock: 
    path: auth0_lock 

После того, что я могу импортировать его с помощью

import 'package:auth0_lock/auth0_lock.dart'; 
+1

Смотрите также https://github.com/dart-lang/pub/issues/1259 , Это ограничение «pub». Было обсуждено, что «dev_transformers» для трансформаторов должен работать только для пакета, когда сам пакет построен, а не когда он построен как зависимость другого пакета. Трансформатор используется только в 'auth0_lock' для примеров и не имеет значения при использовании в качестве зависимости. –

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