dart pub add
Add 是 pub 工具的其中一個命令。
$ dart pub add [{dev|override}:]<package>[:descriptor] [[{dev|override}:]<package>[:descriptor] ...] [options]
此命令會將指定的套件作為相依性新增至 pubspec.yaml
,然後擷取相依性以解析 pubspec.yaml
。
以下範例命令等同於編輯 pubspec.yaml
以新增 http
套件,然後呼叫 dart pub get
$ dart pub add http
版本約束
#依預設,dart pub add
會使用來自 pub.dev 網站的最新穩定版本套件,該版本與您的 SDK 約束和相依性相容。例如,如果 0.13.3
是 http
套件的最新穩定版本,則 dart pub add http
會在您的 pubspec.yaml
中的 dependencies
下新增 http: ^0.13.3
。
您也可以指定約束或約束範圍
$ dart pub add foo:2.0.0
$ dart pub add foo:'^2.0.0'
$ dart pub add foo:'>=2.0.0 <3.0.1'
如果指定的套件是您 pubspec.yaml
中現有的相依性,則 dart pub add
會將相依性的約束更新為命令中指定的約束。
開發相依性
#dev:
前置詞會將套件新增為開發相依性,而不是作為一般相依性。
$ dart pub add dev:foo # adds newest compatible stable version of foo
$ dart pub add dev:foo:^2.0.0 # adds specified constraint of foo
$ dart pub add foo dev:bar # adds regular dependency foo and dev dependency bar simultaneously
先前是 -d, --dev
選項:
$ dart pub add --dev foo
相依性覆寫
#若要指定相依性覆寫,請新增 override:
前置詞,並包含版本約束或來源描述符。
例如:若要覆寫所有對 package:foo
的參考以使用套件的 1.0.0
版本,請執行下列命令
$ dart pub add override:foo:1.0.0
這會將覆寫新增至您的 pubspec.yaml
檔案
dependency_overrides:
foo: 1.0.0
來源描述符
#YAML 描述符語法可讓您從不同的來源新增多個套件,並將不同的選項和約束套用至每個套件。
$ dart pub add [options] [{dev|override}:]<package>[:descriptor] [[{dev|override}:]<package>[:descriptor] ...]
此語法反映了相依性在 pubspec.yaml
中的寫入方式。
'<package>:{"<source>":"<descriptor>"[,"<source>":"<descriptor>"],"version":"<constraint>"}'
git
#新增git 相依性。
$ dart pub add 'foo:{"git":"https://github.com/foo/foo"}'
您可以指定儲存庫,以及該儲存庫中的分支或提交,或確切位置
$ dart pub add 'foo:{"git":{"url":"../foo.git","ref":"branch","path":"subdir"}}'
url
#取決於指定 Git 儲存庫中的套件。
先前是 --git-url=<git_repo_url>
選項:
$ dart pub add http --git-url=https://github.com/my/http.git
ref
#使用 url
,取決於 Git 儲存庫的指定分支或提交。
先前是 --git-ref=<branch_or_commit>
選項:
$ dart pub add http --git-url=https://github.com/my/http.git --git-ref=tmpfixes
path
#使用 url
,指定 Git 儲存庫中套件的位置。
先前是 --git-path=<directory_path>
選項.
hosted
#新增託管相依性,該相依性取決於指定 URL 的套件伺服器。
$ dart pub add 'foo:{"hosted":"my-pub.dev"}'
先前是 --hosted-url=<package_server_url>
選項.
path
#在本地儲存的套件上新增路徑相依性。
$ dart pub add 'foo:{"path":"../foo"}'
先前是 --path=<directory_path>
選項.
sdk
#從指定的 SDK 來源新增套件。
$ dart pub add 'foo:{"sdk":"flutter"}'
先前是 --sdk=<sdk_name>
選項:
$ dart pub add foo --sdk=flutter
選項
#如需套用至所有 pub 命令的選項,請參閱全域選項。
--[no-]offline
#依預設,pub 會連線至網路以擷取託管的套件 (--no-offline
)。若要改為使用快取的套件,請使用 --offline
。如需詳細資訊,請參閱離線時取得。
-n, --dry-run
#報告哪些相依性會變更,但不會變更任何相依性。
--[no-]precompile
#依預設,pub 會預先編譯直接相依性中的可執行檔 (--precompile
)。若要防止預先編譯,請使用 --no-precompile
。
在工作區中
#在 Pub 工作區中,dart pub add
只會將相依性新增至目前目錄中的套件。
除非另有說明,否則此網站上的文件反映的是 Dart 3.6.0。頁面上次更新時間為 2024-12-10。 檢視來源 或 回報問題。