当前位置: 首页 > news >正文

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

相关文章:

npm更新和管理已发布的包

目录 1、更改包的可见性 1.1 将公共包设为私有 ​编辑 使用网站 使用命令行 1.2 将私有包公开 使用网站 使用命令行 2、将协作者添加到用户帐户拥有的私有包 2.1 授予对Web上私有用户包的访问权限 2.2 从命令行界面授予私有包访问权限 2.3 授予对私有组织包的访问权限…...

如何高效使用Gherkin

背景 时间回到2022年&#xff0c;我参与了一个使用了Flutter技术构建的Web前端项目。在这个项目上&#xff0c;我们小组的目标是实施Flutter前端自动化测试。 彼时&#xff0c;Flutter 2.x刚在Web端发力不久&#xff0c;Flutter Web上的应用和生态才刚刚开始&#xff0c;而在…...

[CKA]考试之调度 pod 到指定节点

由于最新的CKA考试改版&#xff0c;不允许存储书签&#xff0c;本博客致力怎么一步步从官网把答案找到&#xff0c;如何修改把题做对&#xff0c;下面开始我们的 CKA之旅 题目为&#xff1a; Task 创建一个Pod&#xff0c;名字为nginx-kusc00401&#xff0c;镜像地址是nginx…...

git 常用命令有哪些

Git 是我们开发工作中使用频率极高的工具&#xff0c;下面总结下他的基本指令有哪些&#xff0c;顺便温习一下。 前言 一般项目中长存2个分支&#xff1a; 主分支&#xff08;master&#xff09; 和开发分支&#xff08;develop&#xff09; 项目存在三种短期分支 &#xff1…...

算法leetcode|66. 加一(rust重拳出击)

文章目录 66. 加一&#xff1a;样例 1&#xff1a;样例 2&#xff1a;样例 3&#xff1a;提示&#xff1a; 分析&#xff1a;题解&#xff1a;rust&#xff1a;go&#xff1a;c&#xff1a;python&#xff1a;java&#xff1a; 66. 加一&#xff1a; 给定一个由 整数 组成的 非…...

MySQL备份Shell脚本

将此脚本添加到crontab计划中&#xff0c;自动留存最新的两份备份 #!/bin/bash # 数据库配置 DB_HOST"localhost" DB_USER"root" DB_PASS"Sxbdc123!#" DB_NAME"ww"# 备份目录 BACKUP_DIR"/opt/mysqlbak"# 备份文件名称 BA…...

Python批量查字典和爬取双语例句

最近&#xff0c;有网友反映&#xff0c;我的批量查字典工具换到其它的网站就不好用了。对此&#xff0c;我想说的是&#xff0c;互联网包罗万象&#xff0c;网站的各种设置也有所不同&#xff0c;并不是所有的在线字典都可以用Python爬取的。事实上&#xff0c;很多网站为了防…...

uni-app、H5实现瀑布流效果封装,列可以自定义

文章目录 前言一、效果二、使用代码三、核心代码总结前言 最近做项目需要实现uni-app、H5实现瀑布流效果封装,网上搜索有很多的例子,但是代码都是不够完整的,下面来封装一个uni-app、H5都能用的代码。在小程序中,一个个item渲染可能出现问题,也通过加锁来解决问题。 一、…...

vue echart3个饼图

概览&#xff1a;根据UI设计需要做3个饼图且之间有关联&#xff0c;并且处理后端返回的数据。 参考链接&#xff1a; echart 官网的一个案例&#xff0c;3个饼图 实现思路&#xff1a; 根据案例&#xff0c;把数据处理成对应的。 参考代码&#xff1a; 1.处理后端数据&am…...

LEARNING TO EXPLORE USING ACTIVE NEURAL SLAM 论文阅读

论文信息 题目&#xff1a;LEARNING TO EXPLORE USING ACTIVE NEURAL SLAM 作者&#xff1a;Devendra Singh Chaplot, Dhiraj Gandhi 项目地址&#xff1a;https://devendrachaplot.github.io/projects/Neural-SLAM 代码地址&#xff1a;https://github.com/devendrachaplot/N…...

item_search-ks-根据关键词取商品列表

一、接口参数说明&#xff1a; item_search-根据关键词取商品列表&#xff0c;点击更多API调试&#xff0c;请移步注册API账号点击获取测试key和secret 公共参数 请求地址: https://api-gw.onebound.cn/ks/item_search 名称类型必须描述keyString是调用key&#xff08;http:…...

windows运行WPscan报错:无法打开库libcurl.dll

windows运行WPscan报错:无法打开库libcurl.dll 1.问题背景2.解决方案1.问题背景 在Windows上启动WPScan时: wpscan --url xxx.ru提示如下错误: Could not open library libcurl.dll: �� ������ ��������� ������. . Could not open library libcu...

web前端框架Javascript之JavaScript 异步编程史

早期的 Web 应用中&#xff0c;与后台进行交互时&#xff0c;需要进行 form 表单的提交&#xff0c;然后在页面刷新后给用户反馈结果。在页面刷新过程中&#xff0c;后台会重新返回一段 HTML 代码&#xff0c;这段 HTML 中的大部分内容与之前页面基本相同&#xff0c;这势必造成…...

Java多线程(1)---多线程认识、四种创建方式以及线程状态

目录 前言 一.Java的多线程 1.1多线程的认识 1.2Java多线程的创建方式 1.3Java多线程的生命周期 1.4Java多线程的执行机制 二.创建多线程的四种方式 2.1继承Thread类 ⭐创建线程 ⭐Thread的构造方法和常见属性 2.2.实现Runnable接口 ⭐创建线程 ⭐使用lambda表达…...

搭建Django+pyhon+vue自动化测试平台

Django安装 使用管理员身份运行pycharm使用local 1 pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple 检查django是否安装成功 1 python -m django --version 创建项目 1 1 django-admin startproject test cd 切换至创建的项目中启动django项目…...

CASAIM自动化平面度检测设备3D扫描零部件形位公差尺寸测量

平面度是表面形状的度量&#xff0c;指示沿该表面的所有点是否在同一平面中&#xff0c;当两个表面需要连接在一起形成紧密连接时&#xff0c;平面度检测至关重要。 CASAIM自动化平面度检测设备通过搭载领先的激光三维测头和智能检测软件自动获取零部件高质量测量数据&#xf…...

PostgreSql pg_ctl 命令

一、概述 控制 PostgreSQL 服务的工具。 二、语法 --初始化数据库实例 pg_ctl init[db] [-D datadir] [-s] [-o initdb-options]--启动数据库实例 pg_ctl start [-D datadir] [-l filename] [-W] [-t seconds] [-s] [-o options] [-p path] [-c]--停止数据库实例 pg_ctl sto…...

MySQL中的MVCC具体指的是什么?

在MySQL中&#xff0c;MVCC是指多版本并发控制&#xff08;Multi-Version Concurrency Control&#xff09;。它是一种用于处理并发读写操作的数据库事务管理技术。 MVCC通过在数据库中维护多个版本的数据来实现并发控制&#xff0c;每个事务在执行期间看到的数据版本是确定性…...

Docker网络模型详解

目录 一、Docker网络基础 1、端口映射 使用-P选项时Docker会随机映射一个端口至容器内部的开放端口 使用docker logs查看Nginx的日志 查看映射的随机端口范围 2、使用-p可以指定要映射到的本地端口。 Local_Port:Container_Port &#xff1a; 端口映射参数中指定了宿主…...

如何打造属于自己的个人IP?

在当今信息爆炸的时代&#xff0c;个人 IP 已经成为人们在网络世界中的独特标签。无论是在职场上、创业中&#xff0c;还是在社交生活中&#xff0c;拥有个人 IP 的人都能脱颖而出&#xff0c;吸引更多的关注和机会。那么&#xff0c;如何打造属于自己的个人 IP 呢&#xff1f;…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...

如何把工业通信协议转换成http websocket

1.现状 工业通信协议多数工作在边缘设备上&#xff0c;比如&#xff1a;PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发&#xff0c;当设备上用的是modbus从站时&#xff0c;采集设备数据需要开发modbus主站&#xff1b;当设备上用的是西门子PN协议时&#xf…...

用鸿蒙HarmonyOS5实现国际象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的国际象棋小游戏的完整实现代码&#xff0c;使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├── …...

PostgreSQL 与 SQL 基础:为 Fast API 打下数据基础

在构建任何动态、数据驱动的Web API时&#xff0c;一个稳定高效的数据存储方案是不可或缺的。对于使用Python FastAPI的开发者来说&#xff0c;深入理解关系型数据库的工作原理、掌握SQL这门与数据库“对话”的语言&#xff0c;以及学会如何在Python中操作数据库&#xff0c;是…...