目录
package-spec
包名指定器
选择 CLI 版本
目录
描述
像 npm install
这样的命令以及 package.json
中的依赖部分使用包名指定器。这可以是许多不同的东西,它们都指向一个“包”。示例包括包名、git URL、tarball 或本地目录。在使用此包名指定器的 npm 命令的帮助输出中,这些通常被称为 <package-spec>
。
包名
[<@scope>/]<pkg>
[<@scope>/]<pkg>@<tag>
[<@scope>/]<pkg>@<version>
[<@scope>/]<pkg>@<version range>
通过名称引用一个包,带或不带范围,并可选地带标签、版本或版本范围。这通常与 registry 配置结合使用,以引用注册表中的包。
示例
npm
@npmcli/arborist
@npmcli/arborist@latest
[email protected]
npm@^4.0.0
别名
<alias>@npm:<name>
主要用于像 npm install
这样的命令以及 package.json
中的依赖部分,它通过别名引用一个包。 <alias>
是包在 node_modules
文件夹中具体化的名称,而 <name>
指的是在配置的注册表中找到的包名。
有关通过名称引用包的更多信息,请参见上面的 包名
,有关配置引用包名时使用哪个注册表的更多信息,请参见 registry。
示例
semver:@npm:@npmcli/semver-with-patch
semver:@npm:[email protected]
semver:@npm:semver@legacy
文件夹
<folder>
这指向本地文件系统上的一个包。具体来说,这是一个包含 package.json
文件的文件夹。这应该始终以 /
或 ./
(或您的操作系统等效项)为前缀,以减少混淆。npm 当前会将包含多个 /
的字符串解析为一个文件夹,但这是将来版本中可能会删除的遗留行为。
示例
./my-package
/opt/npm/my-package
Tarballs
<tarball file>
<tarball url>
示例
./my-package.tgz
https://registry.npmjs.org/semver/-/semver-1.0.0.tgz
指向 tarball 格式的包,无论是在本地文件系统上还是通过 URL 远程访问。这是包上传到注册表后存在的格式。
git URL
<git:// url>
<github username>/<github project>
指向 git 仓库中的包。这可以是完整的 git URL、git 简写或 GitHub 上的用户名/包。您可以通过附加 #ref
来指定 git 标签、分支或其他 git ref。
示例
https://github.com/npm/cli.git
[email protected]:npm/cli.git
git+ssh://[email protected]/npm/cli#v6.0.0
github:npm/cli#HEAD
npm/cli#c12ea07