npm-publish
发布一个包概要
npm publish [<tarball>|<folder>] [--tag <tag>] [--access <public|restricted>] [--otp otpcode] [--dry-run]Publishes '.' if no argument suppliedSets tag 'latest' if no --tag specified
描述
将包发布到注册表,以便可以按名称安装。 如果不存在本地 .gitignore
或 .npmignore
文件,则包含包目录中的所有文件。 如果两个文件都存在并且某个文件被 .gitignore
而不是被 .npmignore
忽略,那么它将被包含在内。 有关已发布包中包含的内容以及如何构建包的详细信息,请参阅 developers
。
默认情况下,npm 将发布到公共注册表。 这可以通过指定不同的默认注册表或在名称中使用 scope
来覆盖(参见 package.json
)。
<folder>
: 包含 package.json 文件的文件夹<tarball>
: gzip 压缩的 tar 存档的 url 或文件路径,其中包含单个文件夹,其中包含 package.json 文件。[--tag <tag>]
使用给定标签注册已发布的包,以便npm install <name>@<tag>
将安装此版本。 默认情况下,npm publish
更新,npm install
安装latest
标签。 有关标签的详细信息,请参见npm-dist-tag
。[--access <public|restricted>]
告诉注册表这个包应该作为公共发布还是受限发布。 仅适用于范围包,默认为restricted
。 如果你没有付费账户,则必须使用--access public
发布才能发布范围包。[--otp <otpcode>]
如果你在auth-and-writes
模式下启用了双重身份验证,那么你可以提供来自身份验证器的代码。 如果你不包括这个并且你是从一个 TTY 运行的,那么你会被提示。[--dry-run]
从npm@6
开始,除了实际发布到注册表之外,所有发布都会做。 报告将要发布的内容的详细信息。
如果指定注册表中已存在包名称和版本组合,则失败。
一旦使用给定名称和版本发布了一个包,该特定名称和版本组合将永远无法再次使用,即使它已被 npm unpublish
删除。
从 npm@5
开始,在发布期间,将在发布期间将 sha1sum 和带有 sha512sum 的完整性字段提交给注册表。 后续安装将使用支持的最强算法来验证下载。
与 --dry-run
类似,参见 npm pack
,它计算出要包含的文件并将它们打包到一个 tarball 中以上传到注册表。