Приложение командной строки Dart в Windows, не может импортировать пакеты
Я нахожусь на Windows 10, и я следую этому руководству: https://www.dartlang.org/docs/tutorials/cmdline/
Тем не менее, кажется, что он не может использовать пакеты, как показано ниже. Я что-то упустил или это известная проблема в Windows? Я установил дротик с помощью choco, и он добавил местоположение дротика на мой путь.
Мне удалось заставить его работать, скопировав соединение пакетов (возможно, символическую ссылку или ярлык?), Которое WebStorm создал для какого-то проекта, и вставив его рядом с этим файлом дротика. Но я не думаю, что это то, что мы должны делать.
Как мы можем убедиться, что приложения командной строки dart в Windows могут использовать пакеты? Чего не хватает в учебной ссылке, которую я дал выше?
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>
1 ответ
Вам определенно не нужно вручную копировать символические ссылки или соединения.
Если вы бежите pub get
или же pub upgrade
из каталога, который содержит pubspec.yaml
файл или из WebStorm, тогда все эти соединения должны быть созданы для вас и не должны быть изменены каким-либо образом вручную.
Вам нужен файл pubspec.yaml в tmp
каталог
name: some_name
dependencies:
args: any # any is discouraged but should work in this case
бежать pub get
после того, как файл был создан
dcat.dart
должен быть в tmp/bin
Тогда беги от tmp
каталог
dart bin/dcart.dart -n quotes.txt