<p>Dartdoc fehlgeschlagen: NoSuchMethodError: Das Getter-'Element' wurde auf null aufgerufen</p>

Erstellt am 29. März 2021  ·  15Kommentare  ·  Quelle: dart-lang/dartdoc

Beim Versuch, Dartdoc in unserer Bibliothek syncfusion_flutter_charts auszuführen, schlägt die Dartdoc-Generierungsaufgabe mit einer Dartdoc-internen Fehlermeldung fehl. Auch dies tritt bei den älteren Versionen von dartdoc (außer 0.40.0) nicht auf. Das Fehlerprotokoll habe ich unten angehängt.

used dartdoc version : 0.40.0

flatter_charts_dartdoc.txt

```Dokumentieren von syncfusion_flutter_charts...

dartdoc fehlgeschlagen: NoSuchMethodError: Das Getter-'Element' wurde auf null aufgerufen.
Empfänger: null
Versucht anzurufen: element

0 Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)

1 neuer ElementType.from (package:dartdoc/src/element_type.dart:29:11)

2 neue Erweiterung (Paket:dartdoc/src/model/extension.dart:21:21)

3 ModelElement._from (package:dartdoc/src/model/model_element.dart:330:14)

4 neue ModelElement.from (package:dartdoc/src/model/model_element.dart:278:40)

5 Bibliothek.Erweiterungen.(Paket:dartdoc/src/model/library.dart:202:34)

6 MappedIterator.moveNext (dart:_internal/iterable.dart:389:20)

7 neue _GrowableList._ofOther (dart:core-patch/growable_array.dart:198:26)

8 neue _List._ofOther (dart:core-patch/array.dart:106:43)

9 neue _List.of (dart:core-patch/array.dart:57:18)

10 neue List.of (dart:core-patch/array_patch.dart:52:20)

11 Iterable.toList (dart:core/iterable.dart:366:12)

12 Library.extensions (Paket:dartdoc/src/model/library.dart:203:10)

13 Library.modelElementsMap (Paket:dartdoc/src/model/library.dart:607:17)

14 Library.allModelElements (Paket:dartdoc/src/model/library.dart:647:33)

15 PackageGraph.allModelElements..(Paket:dartdoc/src/model/package_graph.dart:915:48)

16 SetMixin.forEach (dart:collection/set.dart:142:30)

17 PackageGraph.allModelElements.(Paket:dartdoc/src/model/package_graph.dart:914:18)

18 SetMixin.forEach (dart:collection/set.dart:142:30)

19 PackageGraph.allModelElements (package:dartdoc/src/model/package_graph.dart:908:52)

20 PackageGraph.precacheLocalDocs.sync_op (package:dartdoc/src/model/package_graph.dart:121:19)

21 _SyncIterator.moveNext (dart:core-patch/core_patch.dart:181:26)

22 Future.wait (dart:async/future.dart:393:26)

23 PackageGraph.initializePackageGraph (package:dartdoc/src/model/package_graph.dart:73:18)

24 PubPackageBuilder.buildPackageGraph (package:dartdoc/src/model/package_builder.dart:72:20)

25 Dartdoc.generateDocsBase (Paket:dartdoc/dartdoc.dart:182:20)

26 Dartdoc.generateDocs (Paket:dartdoc/dartdoc.dart:223:28)

27 Dartdoc.executeGuarded.(Paket:dartdoc/dartdoc.dart:500:9)

Programmcode zurückgegeben: 255

P1 bug

Hilfreichster Kommentar

pub global run dartdoc:dartdoc statt nur dartdoc laufen zu lassen, hat es auch für mich behoben. Dank an alle.

Alle 15 Kommentare

Ich kann dieses Problem weder mit v0.40.0 noch mit der neu veröffentlichten v0.41.0 lokal reproduzieren.

Können Sie bitte die von Ihnen verwendete Flutter-Version angeben und bestätigen, dass Sie "Pub-Upgrade" ausgeführt haben, wenn Sie einen lokalen Checkout von dartdoc verwenden?

@Dinesh-DK Wird in ein paar Tagen geschlossen, es sei denn, ich höre etwas, vorausgesetzt, dass es mit zuvor geschlossenen Fehlern zu diesem Thema zusammenhängt. Dies ist jedoch der erste Bericht über dieses Problem mit 0.40.0, also möchte ich sicher sein, bevor ich das tue.

Ich stoße auf das gleiche Problem. Heute habe ich zum ersten Mal Dartdoc verwendet. Ich habe es in zwei Programmen verwendet, einem Dart-Cli-Programm und einem Flatter-Programm. Das CLI-Programm funktionierte ohne Probleme, aber ich sehe den gleichen Fehler wie Dinesh-DK, wenn ich versuche, es mit dem Flatter-Programm zu verwenden.

Ich habe sogar eine neue Flatter-App erstellt und der Fehler ist immer noch aufgetreten. Ich verwende Flutter 2.0.3. Ich habe auch überprüft, dass ich 0,41 von Dartdoc verwende

Zusammenfassung des Arztes (um alle Details zu sehen, führen Sie flatter doctor -v aus):
[√] Flutter (Kanal stabil, 2.0.3, unter Microsoft Windows [Version 10.0.18363.1440], locale en-US)
[√] Android-Toolchain - für Android-Geräte entwickeln (Android SDK Version 29.0.3)
[√] Chrome – für das Web entwickeln
[√] Visual Studio - für Windows entwickeln (Visual Studio Community 2019 16.9.2)
[√] Android Studio (Version 4.0)
[√] VS-Code (Version 1.55.0)
[√] Verbundenes Gerät (2 verfügbar)

Das ist sehr merkwürdig, zumal pub.dev scheinbar problemlos Flatterpakete verarbeitet. Vielleicht hat es etwas mit Windows zu tun. Werde untersuchen.

Dankeschön. Wenn Sie möchten / brauchen, dass ich etwas probiere, fragen Sie einfach.

Um wieder darauf zurückzukommen, habe ich verschiedene Möglichkeiten ausprobiert, dies auf Nicht-Windows-Plattformen zu reproduzieren, aber es ist fehlgeschlagen. Ich arbeite daran, auf einem Windows-System Zugriff auf eine Dart-Entwicklungsplattform zu erhalten/einzurichten, um das Problem zu reproduzieren.

Einige Fragen habe ich:

  • Tritt dieses Problem _nicht_ unter Windows auf?
  • Wird flutter analyze ohne Fehler in Ihrem Projekt zurückgegeben? Das ist eine Voraussetzung dafür, dass dartdoc richtig funktioniert. Es wird ohne Fehler für mich bei der Syncfusion zurückgegeben, aber dieses Paket funktioniert wieder gut für mich, es wurde noch nicht unter Windows ausprobiert.

Ein Mitglied meines Teams hat derzeit dieses Problem auch bei einem der von mir betreuten Pakete. Sowohl im CI/CD (Linux) als auch lokal (Mac).

Mit dartdoc v0.39.0. Und es tritt nur auf unserem neu erstellten Webinterface-Paket auf. Nachdem ich unseren eigenen Code überprüft hatte, konnte ich nichts Seltsames daran finden, warum es auftreten könnte, aber es könnte einige Einblicke geben?

Die entsprechende Quelle finden Sie hier

reproduziert haben
Linux
dartdoc version: 0.39.0

[✓] Flutter (Channel stable, 2.0.4, on Linux, locale ru_RU.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)

Schritte zum Reproduzieren:

  1. Linux ausführen
  2. flutter create dartdoc_bug_test
  3. cd dartdoc_bug_test
  4. dartdoc
  5. Das ist es
Documenting dartdoc_bug_test...
\
dartdoc failed: NoSuchMethodError: The getter 'element' was called on null.
Receiver: null
Tried calling: element
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
#1      new ElementType.from (package:dartdoc/src/element_type.dart:29:11)
#2      new Extension (package:dartdoc/src/model/extension.dart:21:21)
#3      ModelElement._from (package:dartdoc/src/model/model_element.dart:330:14)
#4      new ModelElement.from (package:dartdoc/src/model/model_element.dart:278:40)
#5      Library.extensions.<anonymous closure> (package:dartdoc/src/model/library.dart:202:34)
#6      MappedIterator.moveNext (dart:_internal/iterable.dart:389:20)
#7      new _GrowableList._ofOther (dart:core-patch/growable_array.dart:198:26)
#8      new _List._ofOther (dart:core-patch/array.dart:106:43)
#9      new _List.of (dart:core-patch/array.dart:57:18)
#10     new List.of (dart:core-patch/array_patch.dart:52:20)
#11     Iterable.toList (dart:core/iterable.dart:366:12)
#12     Library.extensions (package:dartdoc/src/model/library.dart:203:10)
#13     Library.modelElementsMap (package:dartdoc/src/model/library.dart:607:17)
#14     Library.allModelElements (package:dartdoc/src/model/library.dart:647:33)
#15     PackageGraph.allModelElements.<anonymous closure>.<anonymous closure> (package:dartdoc/src/model/package_graph.dart:915:48)
#16     SetMixin.forEach (dart:collection/set.dart:142:30)
#17     PackageGraph.allModelElements.<anonymous closure> (package:dartdoc/src/model/package_graph.dart:914:18)
#18     SetMixin.forEach (dart:collection/set.dart:142:30)
#19     PackageGraph.allModelElements (package:dartdoc/src/model/package_graph.dart:908:52)
#20     PackageGraph.precacheLocalDocs.sync_op (package:dartdoc/src/model/package_graph.dart:121:19)
#21     _SyncIterator.moveNext (dart:core-patch/core_patch.dart:181:26)
#22     Future.wait (dart:async/future.dart:393:26)
#23     PackageGraph.initializePackageGraph (package:dartdoc/src/model/package_graph.dart:73:18)
#24     PubPackageBuilder.buildPackageGraph (package:dartdoc/src/model/package_builder.dart:72:20)
<asynchronous suspension>
#25     Dartdoc.generateDocsBase (package:dartdoc/dartdoc.dart:182:20)
<asynchronous suspension>
#26     Dartdoc.generateDocs (package:dartdoc/dartdoc.dart:223:28)
<asynchronous suspension>
#27     Dartdoc.executeGuarded.<anonymous closure> (package:dartdoc/dartdoc.dart:500:9)
<asynchronous suspension>

Behoben durch Update auf dartdoc version: 0.40.0

Ich kann dieses Problem auf 0.40.0 oder höher nicht reproduzieren, aber unter 0.39.0 kann ich es zuverlässig reproduzieren -- dies ist ein bekannter Fehler in dieser Version. Haben Sie für alle, die dieses Problem melden, überprüft, ob Ihr PATH korrekt ist und auf ein Dartdoc-Dokument verweist, das mehr als 0,39.0 meldet?

Ich werde einige Debugging-Ausgaben für Ausnahmen hinzufügen, damit klar ist, welche Version für zukünftige Abstürze ausgeführt wird – es ist besonders verwirrend, da die Leute pub global activate dartdoc sowie das Dartdoc entweder von einem Dart SDK oder Flutter verwenden können SDK-Installation.

Ich bin das erwähnte Teammitglied @wolfenrain . Wir haben dieses Problem immer noch bei der Dartdoc-Version 0.42.0 aber nur bei einem bestimmten Paket.

Ich bin das erwähnte Teammitglied @wolfenrain . Wir haben dieses Problem immer noch bei der Dartdoc-Version 0.42.0 aber nur bei einem bestimmten Paket.

Sie sind sicher, dass in Ihrem Anwendungsfall die richtige Version von dartdoc ausgeführt wird? Ich habe alles versucht, um dies außerhalb von 0.39.0 zu reproduzieren. Die Stable-Version des SDK, die im letzten Stable-Flatter enthalten ist, hat immer noch Dartdoc 0.39.0, und wenn Ihr PATH nicht richtig eingerichtet ist, verwenden Sie möglicherweise dieses und reproduzieren daher den Absturz.

Ich bin das erwähnte Teammitglied @wolfenrain . Wir haben dieses Problem immer noch bei der Dartdoc-Version 0.42.0 aber nur bei einem bestimmten Paket.

Sie sind sicher, dass in Ihrem Anwendungsfall die richtige Version von dartdoc ausgeführt wird? Ich habe alles versucht, um dies außerhalb von 0.39.0 zu reproduzieren. Die Stable-Version des SDK, die im letzten Stable-Flatter enthalten ist, hat immer noch Dartdoc 0.39.0, und wenn Ihr PATH nicht richtig eingerichtet ist, verwenden Sie möglicherweise dieses und reproduzieren daher den Absturz.

Hey sorry die Dartdoc-Version auf meinem Weg war immer noch 0.39.0 wie du gesagt hast. Das Update auf 0.40.0 hat das Problem behoben.

Mein Fehler war, dass ich pub global activate dartdoc , um Dartdoc zu aktualisieren, aber ich habe immer noch versucht, Dokumente aus dem Pfad zu generieren. Die Verwendung von flutter pub global run dartdoc:dartdoc funktioniert jetzt für mich.

Es ist etwas verwirrend, da es mehrere Möglichkeiten gibt, auf das Paket zuzugreifen. #2607 sollte im Falle einer Ausnahme für zukünftige Releases deutlicher machen, welche Version Sie verwenden.

pub global run dartdoc:dartdoc statt nur dartdoc laufen zu lassen, hat es auch für mich behoben. Dank an alle.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen