内容

dart pub add

Addpub 工具的命令之一。

$ 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.3http 包的最新稳定版本,则 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 文件中

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 将仅将依赖项添加到当前目录中的包。