Windows 上的 Dart 命令行应用程序无法导入包
Dart command line app on Windows, can't import packages
我在 Windows 10 并且正在学习本教程:https://www.dartlang.org/docs/tutorials/cmdline/
但是,它似乎不能按照下面的输出使用包。我是不是遗漏了什么,或者这是 Windows 上的一个已知问题?我使用 choco 安装了 dart,并将 dart 的位置添加到我的路径中。
我能够通过复制 WebStorm 为某个项目创建的包连接(符号 link 或快捷方式?)并将其粘贴到此 dart 文件旁边来使其工作。但我不认为这是我们应该做的。
我们如何确保 Windows 中的 dart 命令行应用程序可以使用包?我在上面给出的教程 link 中缺少什么?
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>
您绝对不需要手动复制符号链接或连接点。
如果您 运行 pub get
或 pub upgrade
来自包含 pubspec.yaml
文件的目录或来自 WebStorm,那么所有这些连接都应该为您创建并且应该' 不能以任何方式手动修改。
您需要 tmp
目录中的 pubspec.yaml 文件
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
我在 Windows 10 并且正在学习本教程:https://www.dartlang.org/docs/tutorials/cmdline/
但是,它似乎不能按照下面的输出使用包。我是不是遗漏了什么,或者这是 Windows 上的一个已知问题?我使用 choco 安装了 dart,并将 dart 的位置添加到我的路径中。
我能够通过复制 WebStorm 为某个项目创建的包连接(符号 link 或快捷方式?)并将其粘贴到此 dart 文件旁边来使其工作。但我不认为这是我们应该做的。
我们如何确保 Windows 中的 dart 命令行应用程序可以使用包?我在上面给出的教程 link 中缺少什么?
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>
您绝对不需要手动复制符号链接或连接点。
如果您 运行 pub get
或 pub upgrade
来自包含 pubspec.yaml
文件的目录或来自 WebStorm,那么所有这些连接都应该为您创建并且应该' 不能以任何方式手动修改。
您需要 tmp
目录中的 pubspec.yaml 文件
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