npm更新和管理已发布的包

目录

1、更改包的可见性

1.1 将公共包设为私有

​编辑

使用网站

使用命令行

1.2 将私有包公开

 使用网站

使用命令行

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

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

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

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

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

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

4.1 弃用整个包

 使用网站操作

使用命令行

4.2 弃用软件包的单个版本

 使用命令行

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

4.4 将已弃用的包转移到npm

5、从注册表取消发布包

 5.1 取消发布包

使用网站

使用命令行

5.2 取消发布包的单个版本

使用命令行

5.3 何时取消发布 


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网站,并且弃用消息也将显示在 包装页。

Screenshot of package deprecation

 使用网站操作

1、登录npm账户。

2、右上角点击头像,下拉选择package,选择对应的package,对应的地址为:jiang-isarray - npm (npmjs.com)icon-default.png?t=N6B9https://www.npmjs.com/package/jiang-isarray

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

 4、单击“Deprecate package” 按钮。

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

使用命令行

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

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

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

4.2 弃用软件包的单个版本

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

Screenshot of package deprecation for a particular version

 使用命令行

要弃用某个包版本,请运行以下命令,将<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,对应的地址为:jiang-isarray - npm (npmjs.com)icon-default.png?t=N6B9https://www.npmjs.com/package/jiang-isarray

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小时。如果您错误地取消发布了一个软件包,我们建议您使用其他名称重新发布,或者对于未发布的版本,更改版本号并重新发布。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/59531.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

面试热题100(二叉树的右视图)

给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 树这类问题用的最多的就是递归&#xff0c;因为树具有天然的递归结构&#xff1a; 我们来分析一下题目&#xff0c;给定一棵树根结…

Django实现音乐网站 ⑸

使用Python Django框架制作一个音乐网站&#xff0c; 本篇主要是配置媒体资源设置。 目录 配置介绍 设置媒体资源 创建媒体资源目录 修改settings.py 注册媒体资源路由 总结 配置介绍 静态资源是指项目配置的js/css/image等系统常用文件。对于一些经常变动的资源&#x…

视频安防监控EasyCVR平台海康大华设备国标GB28181告警布防的报文说明

TSINGSEE青犀视频监控综合管理平台EasyCVR基于云边端协同&#xff0c;可支持海量视频的轻量化接入与汇聚管理。平台既具备传统安防视频监控的能力&#xff0c;比如&#xff1a;视频监控直播、云端录像、云存储、录像检索与回看、告警上报、平台级联、云台控制、语音对讲等&…

【华秋推荐】物联网入门学习模块 ESP8266

随着全球信息技术的不断进步和普及&#xff0c;物联网成为当今备受关注的技术热点之一。通过物理和数字设备之间的连接来实现自动化和互联互通的网络。无线传感器、云计算和大数据分析等技术&#xff0c;物联网使设备能够相互交流和共享信息&#xff0c;实现智能化的自动化操作…

Linux中的firewall-cmd

2023年8月4日&#xff0c;周五上午 目录 打开端口关闭端口查看某个端口是否打开查看当前防火墙设置firewall-cmd中的服务在防火墙中什么是服务&#xff1f;为什么会有服务&#xff1f;打开或关闭服务查看某个服务是否打开firewall-cmd中的 zones查看所有可用的zones&#xff0…

sheetJs / xlsx-js-style 纯前端实现导出 excel 表格及自定义单元格样式

文章目录 一、安装二、创建基础工作表三、设置单元格宽度/高度/隐藏单元格四、分配数字格式五、超链接六、单元格注释七、公式八、合并单元格九、自定义单元格样式十、项目地址 一、安装 xlsx 地址&#xff1a;https://www.npmjs.com/package/xlsxSheetJs 地址&#xff1a;htt…

【音视频】edge与chrome在性能上的比较

目录 结论先说 实验 结论 实验机器的cpu配置 用EDGE拉九路​编辑 google拉五路就拉不出来了 资源使用情况 edge报错​编辑 结论先说 实验 用chrome先拉九路&#xff0c;再想用edge拉九路&#xff0c;发现拉五路后怎么也拉不出&#xff1b; 后面发现cpu爆满&#xff1b;切…

pytest自动化测试执行环境切换的两种解决方案

一、痛点分析 在实际企业的项目中&#xff0c;自动化测试的代码往往需要在不同的环境中进行切换&#xff0c;比如多套测试环境、预上线环境、UAT环境、线上环境等等&#xff0c;并且在DevOps理念中&#xff0c;往往自动化都会与Jenkins进行CI/CD&#xff0c;不论是定时执行策略…

【广州华锐视点】葡萄种植VR虚拟仿真实训平台

随着虚拟现实(VR)技术的不断发展&#xff0c;越来越多的教育领域开始尝试将VR技术应用于教学中。在葡萄栽培这一专业领域&#xff0c;我们开发了一款创新的VR实训课件&#xff0c;旨在为学生提供沉浸式的互动学习体验。本篇文案将为您介绍葡萄种植VR虚拟仿真实训平台所提供的互…

穷举深搜暴搜回溯剪枝(2)

一)电话号码的字母组合 17. 电话号码的字母组合 - 力扣&#xff08;LeetCode&#xff09; 1)画出决策树:只是需要对最终的决策树做一个深度优先遍历 把图画出来&#xff0c;知道每一层在干什么&#xff0c;代码就能写出来了 2)定义全局变量: 1)定义一个哈希表来处理数字和字符串…

51单片机(普中HC6800-EM3 V3.0)实验例程软件分析 实验一 点亮第一个LED

目录 前言 一、原理图及知识点介绍 1.1、LED原理图 1.2、MCU51原理图 二、代码分析 知识点一&#xff1a;#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器 知识点二&#xff1a;你知道sfr P0 0x80;是怎么来的呢为什么要赋值0x80&#xff…

35.利用fminsearch解 多元变量无约束条件下的函数最小值(matlab程序)

1.简述 1.fminsearch函数基本语法 函数功能&#xff1a;使用无导数法计算无约束多变量函数的最小值 语法 x fminsearch(fun,x0) x fminsearch(fun,x0,options) x fminsearch(problem) [x,fval] fminsearch(___) [x,fval,exitflag] fminsearch(___) [x,fval,exitflag,out…

Java版本spring cloud + spring boot企业电子招投标系统源代码+ 支持二次开+定制化服务

&#xfeff; 电子招标采购软件 解决方案 招标面向的对象为供应商库中所有符合招标要求的供应商&#xff0c;当库中的供应商有一定积累的时候&#xff0c;会节省大量引入新供应商的时间。系统自动从供应商库中筛选符合招标要求的供应商&#xff0c;改变以往邀标的业务模式。招…

Vue3_03_setup函数

1.理解&#xff1a;Vue3.0 中的一个新的配置项&#xff0c;值为一个函数。 2.setup是所有组合式 API 表演的舞台。 3.组件中所用到的&#xff1a;数据、方法等等&#xff0c;均要配置在setup中。 4.setup函数的两种返回值&#xff1a; 若返回一个对象&#xff0c;则对象中的…

两数相加 II

给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数字都不会以零开头。 示例1&#xff1a; 输入&#xff1a;l1 [7,2,4,3], l2 [5,6,4] 输…

需要仔细了解公文类型和目的,以便选择合适的写作风格

撰写公文前需要仔细了解公文类型和目的&#xff0c;以便选择合适的写作风格。 不同类型的公文有不同的结构、内容和表达方式&#xff0c;需要根据具体类型和目的来选择合适的写作风格和表达方式。例如&#xff0c;通知、公告等公文需要采用简洁明了、规范严谨的表达方式&#x…

Mr. Cappuccino的第58杯咖啡——MacOS配置Maven和Java环境

MacOS配置Maven和Java环境 查看Mac使用的是哪个shell下载并准备Maven下载Maven配置前准备 下载并安装JDK下载JDK安装JDK 配置Maven和Java环境添加配置加载配置 验证环境 查看Mac使用的是哪个shell echo $SHELL如果使用的是bash&#xff0c;则使用以下命令 open ~/.bash_profi…

SpringBoot+logback默认日志的配置和使用

记录一下SpringBoot2.0.x使用默认logback日志的配置和常见使用 SpringBoot的默认日志是logback&#xff0c;在SpringBoot2.0.x版本中使用logback很方便而且内存开销小&#xff0c;速度快&#xff0c;还不需要去单独的配置maven的jar包&#xff0c;因为已经集成整合了的。作为专…

《吐血整理》高级系列教程-吃透Fiddler抓包教程(21)-如何使用Fiddler生成Jmeter脚本-上篇

1.简介 我们知道Jmeter本身可以录制脚本&#xff0c;也可以通过BadBoy&#xff0c;BlazeMeter等工具进行录制&#xff0c;其实Fiddler也可以录制Jmter脚本&#xff08;而且有些页面&#xff0c;由于安全设置等原因&#xff0c;使用Jmeter直接无法打开录制时&#xff0c;这时就…

数据结构 10-排序4 统计工龄 桶排序/计数排序(C语言)

给定公司名员工的工龄&#xff0c;要求按工龄增序输出每个工龄段有多少员工。 输入格式: 输入首先给出正整数&#xff08;≤&#xff09;&#xff0c;即员工总人数&#xff1b;随后给出个整数&#xff0c;即每个员工的工龄&#xff0c;范围在[0, 50]。 输出格式: 按工龄的递…