npm publish 全方位解读

本文参考了NPM中文文档写做而成的html

npm publish 功能

发布软件包git

npm publish 使用

npm publish [<tarball>|<folder>][--tag <tag>] [--access <public|restricted>][--otp otpcode] [--dry-run]

Publishes '.' if no argument supplied
Sets tag 'latest' if no --tag specified

npm publish 说明

将程序包发布到注册表,以便按名称安装。若是不存在本地文件。算法

gitignore 或 .npmignore 文件,则包括软件包目录中的全部文件。npm

若是两个文件都存在,而且一个文件被(.gitignore 但不被)忽略, .npmignore 则将其包括在内。json

有关 npm-developers 发布的软件包中包含的内容的详细信息,以及有关如何构建该软件包的详细信息,请参见 。api

默认状况下,npm 将发布到公共注册表。能够经过指定其余默认注册表或 npm-scope 在名称中使用 a 来覆盖它(请参阅参考资料 package.json)。url

  • <folder>:包含 package.json 文件的文件夹
  • <tarball>:压缩后的 tar 存档的 url 或文件路径,其中包含单个文件夹,其中包含 package.json 文件。
  • [--tag <tag>] 使用给定标签注册发布的软件包,例如npm install @将安装此版本。默认状况下,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 将其删除,该特定名称和版本组合也将永远没法再次使用。rest

从发布开始 npm@5,tar1 的 sha1sum 和完整性字段具备 sha512sum 的都将在发布期间提交给注册表。随后的安装将使用受支持最强的算法来验证下载。code

相似于 --dry-runsee npm-pack,它找出要包含的文件并将它们打包到 tarball 中以上载到注册表。htm

本文参考NPM中文文档

相关文章
相关标签/搜索