Ошибка html5lib после обновления Dart SDK версии 0.3.2.0_r17657

Когда я запускаю build.dart моего веб-компонента, папка out не создается, и я получаю эту ошибку:

SEVERE web/main.html: exception while reading file, original message:
 AsyncError: ''package:html5lib/dom.dart': Error: line 91 pos 51: type 'LinkedHashMap' is not loaded
  LinkedHashMap<dynamic, String> attributes = new LinkedHashMap();
malformed type used.'
Stack trace:
#0      Node.Node (package:html5lib/dom.dart:91:51)
#1      Document.Document (package:html5lib/dom.dart:313:16)
#2      TreeBuilder.reset (package:html5lib/src/treebuilder.dart:100:16)
#3      TreeBuilder.TreeBuilder (package:html5lib/src/treebuilder.dart:87:10)
#4      HtmlParser.HtmlParser (package:html5lib/parser.dart:148:38)
#5      parseHtml (package:web_ui/src/compiler.dart:34:16)
#6      Compiler._parseHtmlFile.<anonymous closure>.<anonymous closure> (package:web_ui/src/compiler.dart:165:28)
#7      time (package:web_ui/src/utils.dart:38:24)
#8      Compiler._time (package:web_ui/src/compiler.dart:297:16)
#9      Compiler._parseHtmlFile.<anonymous closure> (package:web_ui/src/compiler.dart:164:32)
#10     _ThenFuture._sendValue (dart:async:372:24)

У кого-нибудь такая же проблема?

Обновление: спасибо за ответы. Однако я запускаю pub update, и теперь, если я запускаю файл build.dart, результат:

Uncaught Error: NoSuchMethodError : method not found: 'innerHTML'
Receiver: Instance of 'Element'
Arguments: []
Stack Trace:
#0      Object.noSuchMethod (dart:core-patch:1743:25)
#1      _ElementLoader.visitScriptElement (package:web_ui/src/analyzer.dart:879:16)
#2      _ElementLoader.visitElement (package:web_ui/src/analyzer.dart:770:40)
#3      TreeVisitor.visit (package:html5lib/dom_parsing.dart:208:50)
#4      TreeVisitor.visitChildren (package:html5lib/dom_parsing.dart:220:49)
#5      TreeVisitor.visitNodeFallback (package:html5lib/dom_parsing.dart:228:48)
#6      TreeVisitor.visitElement (package:html5lib/dom_parsing.dart:237:50)
#7      _ElementLoader.visitElement (package:web_ui/src/analyzer.dart:777:34)
#8      TreeVisitor.visit (package:html5lib/dom_parsing.dart:208:50)
#9      TreeVisitor.visitChildren (package:html5lib/dom_parsing.dart:220:49)
#10     TreeVisitor.visitNodeFallback (package:html5lib/dom_parsing.dart:228:48)
#11     TreeVisitor.visitElement (package:html5lib/dom_parsing.dart:237:50)
#12     _ElementLoader.visitElement (package:web_ui/src/analyzer.dart:777:34)
#13     TreeVisitor.visit (package:html5lib/dom_parsing.dart:208:50)
#14     TreeVisitor.visitChildren (package:html5lib/dom_parsing.dart:220:49)
#15     TreeVisitor.visitNodeFallback (package:html5lib/dom_parsing.dart:228:48)
#16     TreeVisitor.visitDocument (package:html5lib/dom_parsing.dart:230:52)
#17     TreeVisitor.visit (package:html5lib/dom_parsing.dart:212:52)
#18     analyzeDefinitions (package:web_ui/src/analyzer.dart:33:15)
#19     Compiler._parseAndDiscover.processHtmlFile.<anonymous closure>  (package:web_ui/src/compiler.dart:123:35)
#20     time (package:web_ui/src/utils.dart:38:24)
#21     Compiler._time (package:web_ui/src/compiler.dart:291:16)
#22     Compiler._parseAndDiscover.processHtmlFile (package:web_ui/src /compiler.dart:122:27)
#23     _ThenFuture._sendValue (dart:async:372:24)

person Biagio Chirico    schedule 30.01.2013    source источник


Ответы (2)


Я только что прошел через это. Это потому, что пакеты, которые у вас есть, не были обновлены. Убедитесь, что вы используете последние версии каждого пакета, и запустите pub update.

В моем случае я использовал более старую версию web-ui, которая использовала более старую версию пакета html5lib. Я обновил web-ui и все заработало.

И, как сказал Флориан в другом ответе, это вызвано тем, что класс перешел в другую библиотеку.

person Kai Sellgren    schedule 31.01.2013
comment
Сегодня я снова пытаюсь запустить pub update, и теперь все работает нормально. Спасибо за ответ. - person Biagio Chirico; 01.02.2013

Недавно я переместил LinkedHashMap из dart:core в dart:collection. Код, который вы показываете, по-прежнему ожидает его в ядре.

Попробуйте найти обновленную версию пакета html5lib (возможно, список рассылки знает, где ее можно скачать).

В настоящее время Боб работает над версией dart-sdk в pub. Так что, надеюсь, в будущем такой проблемы быть не должно.

person Florian Loitsch    schedule 31.01.2013