dart pub global
Global 是 pub 工具的其中一個命令。
當您目前不在套件內時,Pub 的 global
選項可讓您從命令列執行 Dart 指令碼。在啟用套件之後,您可以從該套件的 bin
目錄執行指令碼。停用套件會將其從您全域可用的套件清單中移除。
例如,假設您想要使用 webdev 從命令列提供您的 Dart 網頁應用程式。
$ dart pub global activate webdev
$ webdev serve
如果這不起作用,您可能需要設定您的路徑。
若要從套件內,或從您的套件相依的套件執行 Dart 指令碼,請參閱dart run。
啟用套件
#dart pub global activate [--noexecutables] [--executable=<name>] [--overwrite] <package> [version-constraint]
當您想要能夠從命令列執行一個或多個套件的可執行檔時,請啟用套件。您可以啟用位於 pub.dev 網站、Git 儲存庫或本機上的套件。一旦您啟用套件,請參閱執行指令碼,以從套件的 bin
目錄執行指令碼。
當您啟用套件時,您可以指定一個選擇性的版本限制。有關使用範例,請參閱限制標記。
在 pub.dev 網站上啟用套件
#$ dart pub global activate <pub.dev package>
在 pub.dev 網站上指定一個要啟用的套件。例如:
$ dart pub global activate markdown
使用 Git 啟用套件
#$ dart pub global activate --source git <Git URL>
$ dart pub global activate -sgit <Git URL>
使用 --source git
(或簡寫的 -sgit
) 來啟用 Git 儲存庫中的套件。以下範例啟用 GitHub 上的 async_await
套件,它們是等效的:
$ dart pub global activate --source git https://github.com/dart-lang/async_await.git
$ dart pub global activate -sgit https://github.com/dart-lang/async_await.git
Pub 預期會在 Git 儲存庫的根目錄中找到套件。若要指定不同的位置,請使用 --git-path
選項,並指定相對於儲存庫根目錄的路徑:
$ dart pub global activate -sgit https://github.com/dart-lang/http.git --git-path pkgs/http/
Pub 使用 Git 儲存庫的預設分支。若要指定不同的分支或提交,請使用 --git-ref
選項:
$ dart pub global activate -sgit https://github.com/dart-lang/http.git --git-ref 36f98e900347335af2338a0e087538009b7de2f9
在本機上啟用套件
#$ dart pub global activate --source path <path>
使用 activate --source path <路徑>
來啟用本機上的套件。以下範例從 ~/dart
目錄啟用 stopwatch
套件:
$ dart pub global activate --source path ~/dart/stopwatch
更新已啟用的套件
#一旦套件啟用後,您可以再次啟用該套件來升級它。
執行指令碼
#您可以直接從命令列執行已啟用套件的指令碼。如果您無法直接執行指令碼,您也可以使用 dart pub global run
。
從您的 PATH 執行指令碼
#若要直接從命令列執行指令碼,請將系統快取的 bin
目錄新增至您的 PATH
環境變數。
例如,假設您已啟用 webdev 套件,但您仍然無法執行命令:
$ dart pub global activate webdev
$ webdev serve
-bash: webdev: command not found
確認系統快取的 bin
目錄是否在您的路徑中。以下 macOS 上的 PATH
變數包含系統快取:
$ echo $PATH
/Users/<user>/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/Users/<user>/.pub-cache/bin
如果您的 PATH
中缺少此目錄,請找到適用於您平台的檔案並新增它。
平台 | 快取位置 |
---|---|
macOS 或 Linux | $HOME/.pub-cache/bin |
Windows* | %LOCALAPPDATA%\Pub\Cache\bin |
* 系統快取的確切位置可能因不同版本的 Windows 而異。
您現在可以直接叫用命令:
$ cd web_project
$ webdev serve
如果指令碼仍然無法從命令列執行,則可能未設定此套件來使用此功能。您仍然可以使用 dart pub global run
執行指令碼。
使用 dart pub global run
執行指令碼
#$ dart pub global run <package>:<executable> [args...]
即使未設定指令碼從命令列執行,您仍然可以使用 dart pub global run
。以下命令從 foo
套件執行 bin/bar.dart
指令碼,並傳入兩個引數。
$ dart pub global run foo:bar arg1 arg2
設定套件可執行檔
#如果您不是套件開發人員,則可以跳過此章節。
套件可以將其某些指令碼公開為可直接從命令列執行的可執行檔。指令碼必須列在 pubspec 檔案的 executables
項目中。例如,以下 pubspec 檔案將 bin/helloworld.dart
識別為 helloworld 套件的可執行檔:
name: helloworld
executables:
helloworld:
未能將指令碼列在 executables
標記下會降低指令碼的可用性:未列出的指令碼可以使用 dart pub global run
執行,但無法直接從命令列執行。
停用套件
#$ dart pub global deactivate <package>
使用 deactivate
從可用的全域套件清單中移除套件。例如:
$ dart pub global deactivate markdown
您無法再使用 dart pub global run
或在命令列叫用套件的指令碼。
列出使用中的套件
#$ dart pub global list
使用 list
來列出目前所有使用中的套件。
選項
#如需適用於所有 pub 命令的選項,請參閱全域選項。
[版本限制]
#使用 dart pub global activate <套件> [版本限制]
來指定套件的特定版本。例如,以下命令會提取 markdown
套件的 0.6.0 版本:
$ dart pub global activate markdown 0.6.0
如果您指定一個範圍,pub 會挑選符合該限制的最佳版本。例如:
$ dart pub global activate foo <3.0.0
--no-executables
#使用 dart pub global activate <套件> --no-executables
來全域啟用指定的套件,但不會將任何可執行檔放入 bin
中。您必須使用 dart pub global run
來執行任何可執行檔。
--executable=<名稱>
或 -x <名稱>
#與 dart pub global activate
一起使用,將指定的可執行檔新增至您的 PATH。您可以傳遞多個此標記。
例如,以下命令會將 bar
和 baz
(但不包括 foo
可能定義的其他任何可執行檔) 新增至您的 PATH。
$ dart pub global activate foo -x bar -x baz
--overwrite
#使用 dart pub global activate <套件> --overwrite
來覆寫任何先前啟用且具有相同名稱的全域可執行檔。如果您未指定此標記,則不會取代現有的可執行檔。
除非另有說明,本網站上的文件反映的是 Dart 3.6.0 版本。頁面最後更新於 2024-05-06。 檢視原始碼 或 回報問題。