我有一個簡單的dart項目,它在bin文件夾(test.dart)中有一個可執行文件。我已經用dart global activate激活了它,現在我可以直接輸入該可執行文件的名稱來運行它。Dart pub全局運行無法解析腳本名稱
在那個dart文件裏我想知道那個腳本的路徑。基本上,現在我只是印刷是這樣的:
print('1: ' + Platform.script.toString());
print('2: ' + Platform.script.path);
print('3: ' + Platform.executable);
print('4: ' + Platform.packageRoot);
print('5: ' + Platform.resolvedExecutable);
當我直接運行:
test
或酒吧:
pub global run test
甚至與包名稱:
pub global run test:test
我總是得到s艾美結果:
1: http://localhost:53783/test.dart
2: /test.dart
3: E:\apps\dart-sdk\bin\dart
4:
5: E:\apps\dart-sdk\bin\dart.exe
這裏的問題是,我無法獲得test.dart文件的絕對路徑。
當我運行它像這樣:
dart /path/to/project/bin/test.dart
我得到我所需要的:
1: file:///E:/projects/dart/test/bin/test.dart
2: /E:/projects/dart/test/bin/test.dart
3: dart
4:
5: E:\apps\dart-sdk\bin\dart.exe
有沒有辦法如何獲得絕對路徑當前正在運行的腳本,不管如何執行它的方式?
參見:https://github.com/dart-lang/dart_style/blob/154fecd4b686da2ca9a27166a9b17b599c0bf018/test/utils.dart#L24 –
感謝您的幫助,但這只是讓我相對路徑,這在我的情況是不夠。 – x3derr8