2016-06-01 13 views
2

Ich bin auf Windows 10 und ich bin nach dieser Anleitung: https://www.dartlang.org/docs/tutorials/cmdline/Dart Befehlszeile App auf Windows können keine Pakete importieren

Es scheint jedoch, es nicht Pakete nach unten Ausgabe verwenden können. Fehle ich etwas oder ist dies ein bekanntes Problem unter Windows? Ich habe einen Dart mit Schoko installiert und den Ort des Dart zu meinem Pfad hinzugefügt.

Ich war in der Lage, es durch Kopieren der Packages Junction (symbolische Verknüpfung oder Verknüpfung vielleicht?), Dass WebStorm für ein Projekt erstellt und Einfügen neben dieser Dart-Datei. Aber ich denke nicht, dass wir das tun sollen.

Wie können wir sicherstellen, dass Dart-Kommandozeilen-Anwendungen in Windows Pakete verwenden können? Was fehlt in dem Tutorial-Link, den ich oben angegeben habe?

C:\Development\Dartish\tmp>dir 
Volume in drive C is HDD 
Volume Serial Number is DC07-D177 

Directory of C:\Development\Dartish\tmp 

06/01/2016 03:28 PM <DIR>   . 
06/01/2016 03:28 PM <DIR>   .. 
06/01/2016 03:33 PM    2,063 dcat.dart 
       1 File(s)   2,063 bytes 
       2 Dir(s) 74,771,554,304 bytes free 

C:\Development\Dartish\tmp>dart dcat.dart -n quotes.txt 
Unhandled exception: 
Could not import "package:args/args.dart" from "file:///C:/Development/Dartish/tmp/dcat.dart": Could not resolve a package location for base at file:///C:/Development/Dartish/tmp/dcat.dart 
#0  _asyncLoadErrorCallback (dart:_builtin:162) 
#1  _asyncLoadError (dart:_builtin:584) 
#2  _loadPackage (dart:_builtin:625) 
#3  _loadPackage.<anonymous closure> (dart:_builtin:641) 
#4  _handlePackagesReply (dart:_builtin:482) 
#5  _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148) 

C:\Development\Dartish\tmp> 
+0

Welche Dateien und Verzeichnisse enthält 'C: \ Development \ Dartish \ tmp>? –

+0

Es enthält nur dcat.dart, ich habe versucht, es in der zitierten Ausgabe zu zeigen. Das Tutorial erwähnt nicht Pub oder Pubspec.Yaml, ist das ein Fehler im Tutorial? Das Lernprogramm gibt bestimmte Anweisungen, nachdem es sagt "Werfen wir einen Blick auf das DCAT-Beispiel". –

+1

Es ist definitiv. Wenn Sie andere Pakete verwenden, benötigen Sie eine 'pubspec.yaml' und stimmen mit den [Pub Package Layout Conventions] überein (https://www.dartlang.org/tools/pub/package-layout.html) Ich schätze, dass der Befehl ausgeführt wird line ist nicht als Einsteiger-Tutorial gedacht, sollte aber genauso funktionieren. Ich werde einen Fehlerbericht erstellen. –

Antwort

5

Sie sollten auf keinen Fall symbolische Links oder Junctions manuell kopieren müssen.

Wenn Sie pub get oder pub upgrade aus dem Verzeichnis ausführen, das die pubspec.yaml Datei oder aus WebStorm enthält dann alle diese Kreuzungen für Sie erstellt werden sollte, und sollte nicht manuell in keiner Weise verändert werden.

Sie benötigen eine pubspec.yaml Datei im Verzeichnis tmp

name: some_name 
dependencies: 
    args: any # any is discouraged but should work in this case 

Lauf pub get, nachdem die Datei

dcat.dart sollte Dann laufen in tmp/bin

seine erstellt wurde aus dem tmp Verzeichnis

dart bin/dcart.dart -n quotes.txt