npm更新和管理已发布的包

简介: npm更新和管理已发布的包

1、更改包的可见性

您可以从网站或命令行更改作用域包的可见性。

您必须是拥有包的用户帐户或组织的所有者,才能更改包的可见性。

1.1 将公共包设为私有

如果要限制对您拥有的公共包的访问和可见性,可以将该包设为私有。当您将包设为私有时,其访问权限将立即更新,并将在更改后的几分钟内从网站上删除。

注意:将包设为私有需要付费用户帐户或组织。要注册付费用户或组织

意味着升级为付费用户,需要支付7 美元/月 才能 发布私有包,并添加协作者。

使用网站

  1. npm网站上,转到包页面。
  2. 在包页面上,单击设置。
  3. 在“包访问”下,选择“包是私有的吗?“
  4. 单击“更新程序包设置”。

使用命令行

要在命令行上将一个公共包设为私有,请运行以下命令,将<package-name>替换为您的包的名称:

npm access restricted <package-name>

1.2 将私有包公开

注意事项: 当你将私有包公开时,这个包将对所有npm用户可见并可下载。

使用网站

  1. npm网站上,转到包页面。
  2. 在包页面上,单击设置。
  3. 在“包访问”下,取消选择“包是私有的吗?“
  4. 单击“更新程序包设置”。

使用命令行

要在命令行上将一个公共包设为私有,请运行以下命令,将<package-name>替换为您的包的名称:

npm access public <package-name>

2、将协作者添加到用户帐户拥有的私有包

作为拥有付费用户帐户的npm用户,您可以在您拥有的私有包上添加另一个拥有付费帐户的npm用户作为协作者。

注意:您要添加为私有包上的协作者的用户必须具有付费用户帐户。

2.1 授予对Web上私有用户包的访问权限

  1. npm网站上,转到您想要添加协作者的包:https://www.npmjs.com/package/<your-package-name>
  2. 在软件包页面的“Collaborators”下,单击+。
  3. 输入协作者的npm用户名。
  4. 单击提交。

2.2 从命令行界面授予私有包访问权限

要在命令行上将协作者添加到包中,请运行以下命令,将<user>替换为协作者的npm用户名,将<your-package-name>替换为私有包的名称:

npm owner add <user> <your-package-name>

2.3 授予对私有组织包的访问权限

要授予npm用户对私有组织包的访问权限,您必须让组织所有者将它们添加到您的组织,然后将它们添加到有权访问私有包的团队。

3、更新已发布的软件包版本号

当您对已发布的包进行重大更改时,我们建议您更新版本号,以便将更改的范围传达给依赖您代码的其他人。

注意:如果你已经将git仓库链接到了一个包,更新包版本号也会将一个带有更新版本号的标签添加到链接的git仓库中。

1、要更改package.json中的版本号,请在命令行上的软件包根目录中运行以下命令,将<update_type>替换为语义版本控制语义版本控制语义版本控制发布类型之一(补丁、主要或次要):

npm version <update_type>

或者直接修改package.json中的version字段。

2、运行 npm publish 命令。

3、转到您的软件包页面(https://npmjs.com/package/<package>)以检查软件包版本是否已更新。

4、不推荐和不推荐包或包版本

如果您不再希望维护某个软件包,或者希望鼓励用户更新到新的或不同的版本,则可以弃用该软件包。弃用某个软件包或版本将在用户安装该软件包或版本时向终端打印一条消息。

一个弃用警告或消息可以说明任何事情。您可能希望包含一条消息,鼓励用户更新到特定版本或其他受支持的软件包。

注意:我们强烈建议弃用软件包或软件包版本,而不是取消发布取消发布取消发布它们,因为取消发布会从注册表中完全删除软件包,这意味着依赖它的任何人都将无法再使用它,并且不会发出警告。

4.1 弃用整个包

弃用整个软件包将从 npm网站,并且弃用消息也将显示在 包装页。

使用网站操作

1、登录npm账户。

2、右上角点击头像,下拉选择package,选择对应的package,对应的地址为:

3、点击“settings”标签页面,下拉到最底部。

4、单击“Deprecate package” 按钮。

5、如果继续删除,输入包名称,单击“Deprecat package”进行弃用提交,接口会根据包名称进行校验。

使用命令行

要弃用整个软件包,请运行以下命令,将<package-name>替换为软件包的名称,将"<message>"替换为弃用消息:

npm deprecate <package-name> "<message>"

如果您已启用双因素身份验证双因素身份验证双因素身份验证,请向命令--otp=123456添加一次性密码(其中123456是来自身份验证器应用的代码)。

4.2 弃用软件包的单个版本

当您弃用一个包的某个版本时,该版本的包页面上会显示一条红色消息,类似于弃用整个包。

使用命令行

要弃用某个包版本,请运行以下命令,将<package-name>替换为您的包名称,将<version>替换为您的版本号,将"<message>"替换为您的弃用消息:

npm deprecate <package-name>@<version> "<message>"

4.3 取消对包或版本的推荐使用

要取消弃用包,请在上述命令之一中替换为(空字符串)。"<message>"""

例如,若要取消弃用包版本,请运行以下命令,替换为包的名称和版本号:<package-name><version>

npm deprecate <package-name>@<version> ""

4.4 将已弃用的包转移到npm

如果您不再维护某个包,但其他用户依赖于它,并且您希望将其从用户配置文件中删除,则可以将其转移到 npm 注册表拥有的@npm用户帐户。

注意:将包传输到 npm 帐户后,您将无法再更新它。

若要将包传输到 npm 用户帐户,请按顺序运行以下两个命令,替换为 npm 用户名和要传输的包:<user><package-name>

<span style="color:#393a34"><span style="background-color:#f6f8fa">
</span></span>
npm owner add npm <package-name>
npm owner rm <user> <package-name>

5、从注册表取消发布包

作为包所有者或协作者,如果你的包没有依赖项,你可以使用CLI将它从npm注册表中永久删除。您可以在初始发布后72小时内取消发布;超过72小时,如果您的软件包符合某些条件,您仍然可以取消发布。

设置这些标准是为了避免破坏JavaScript包生态系统。 如果您无法取消发布您的软件包,则可以将其弃用。

注意:从包中删除所有协作者或团队将不会取消发布该包

5.1 取消发布包

如果要从注册表中完全删除包的所有版本,可以完全取消发布。 这将从注册表中删除它,它将无法安装。

要取消发布包,必须满足包取消发布规则的要求。

使用网站

1、登录npm账户。

2、右上角点击头像,下拉选择package,选择对应的package,对应的地址为:

3、点击“settings”标签页面,下拉到最底部。

4、单击“delete package”按钮

5、如果确定要继续,请输入软件包名称,然后单击删除软件包。

使用命令行

要取消发布整个软件包,请运行以下命令,将<package-name>替换为软件包的名称:

npm unpublish <package-name> -f

5.2 取消发布包的单个版本

如果要删除包的单个版本,可以取消发布一个版本,而不影响其他版本。 这将只从注册表中删除该版本,并且无法安装该版本。此选项仅可通过npm CLI使用。

使用命令行

要取消发布软件包的单个版本,请运行以下命令,将<package-name>替换为您的软件包名称,将<version>替换为您的版本号:

npm unpublish <package-name>@<version>

5.3 何时取消发布

取消发布软件包将从注册表中永久删除该软件包,因此其他用户无法再安装该软件包。一旦软件包被取消发布,以相同名称重新发布将被阻止24小时。如果您错误地取消发布了一个软件包,我们建议您使用其他名称重新发布,或者对于未发布的版本,更改版本号并重新发布。


相关文章
|
2月前
|
JavaScript 前端开发 Java
npm学习一:npm 包管理工具 学习、使用。
这篇文章介绍了npm的基础知识和常用命令,包括安装包、查看包信息、管理依赖等操作,并提供了如何删除npm安装的镜像以及如何彻底删除node_modules文件夹的具体步骤。
106 2
|
2月前
|
JavaScript 前端开发 Java
npm学习一:npm 包管理工具 学习、使用。
这篇文章是关于npm包管理工具的学习、使用指南,包括npm概述、基础命令和如何安装webpack。
73 3
npm学习一:npm 包管理工具 学习、使用。
|
2月前
|
资源调度 前端开发 安全
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
131 0
|
3月前
|
数据安全/隐私保护
发布一个npm包
发布一个npm包
124 2
|
5月前
|
运维 Kubernetes Java
阿里云云效操作报错合集之npm包已经发布到了制品仓库,但流水线中拉取依赖时出现404错误,该如何排查
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
阿里云云效操作报错合集之npm包已经发布到了制品仓库,但流水线中拉取依赖时出现404错误,该如何排查
|
4月前
NPM——删除已发布的包
NPM——删除已发布的包
155 1
|
4月前
|
JavaScript 前端开发 开发者
从零到一:教你如何发布自己的npm插件包
从零到一:教你如何发布自己的npm插件包
|
4月前
|
JavaScript
GitHub——自动发布NPM包
GitHub——自动发布NPM包
38 0
|
5月前
|
JavaScript 测试技术
npm发布自己的插件包
npm发布自己的插件包
|
5月前
|
JavaScript 开发工具 数据安全/隐私保护
npm包【详解】(内含npm包的开发、发布、安装、更新、搜索、卸载、查看、版本号更新规则、package.json详解等)
npm包【详解】(内含npm包的开发、发布、安装、更新、搜索、卸载、查看、版本号更新规则、package.json详解等)
127 0