npm发布包教程(五):废弃/删除
创始人
2025-05-31 07:16:09
0

npm包发布后可以对包进行废弃或删除操作,废弃和删除的区别在于:

  • 废弃不会将包或版本从npm仓库删除,仍然可以继续下载安装,并在安装的时候会有警示
  • 删除会将包从npm彻底删除,无法被下载安装

无论是废弃还是删除,都包含两个层面:

  • 版本的废弃/删除
  • 包的废弃/删除

一、废弃

废弃原因:

  • 版本:鼓励用户更新最新版本
  • 包:此包内容已经过时,没有了维护的价值

第一步:废弃指定版本
语法:npm deprecate [@]

我们以djf-test-pkg为例:

npm deprecate @duanjiefei/babel@1.2.0 'test deprecate'

返回npm官网查看此时已红色提示该package已经废弃

在这里插入图片描述

执行后我们用npm view @duanjiefei/babel versions查看版本:

在这里插入图片描述

记录的版本号并无变化。

第二步:安装废弃版本
切换到test-my-pkg目录下,执行:

npm i @duanjiefei/babel@1.2.0

运行结果:

在这里插入图片描述

第三步:运行index.js
在test-my-pkg目录下

node index.js

结果:

在这里插入图片描述

所以,废弃的包除了安装时会有警示,并不影响使用。

二、删除

npm不鼓励任何形式的删除,主要因为我们发布的包可能已经被其他人引用,如果我们删除了此包,其他人在重新安装含有我们包的依赖的工程时,出现找不到包问题。

基于此,npm做了相关的删除限制:

  • 删除的版本24小时后方可重发!
  • 只有发布72小时之内的包可以删除!

第一步:删除发布的包
我们之前在《npm发布包教程(二):发布包》发布的包仅为演示所用,为保持npm仓库的纯净,我们都删除掉:

npm unpublish djf-test-pkg --force
npm unpublish @duanjiefei/babel --force

在这里插入图片描述

第二步:去官网查找
在这里插入图片描述
第三步 切换到test-my-pkg目录下,先将两个包卸载:

npm rm djf-test-pkg @duanjiefei/babel

结果:

在这里插入图片描述

已经删除的包无法再安装。

至此,我们完成npm包的整个生命周期的演示过程,大家可以开源的道路上又多了一条很重要的道路。

最后,我觉得作为一个开发者,我们有责任和义务维护每一个社区的纯净,所以在发布npm包的时候应该尽量精益求精,避免发一些没有价值的东西给其他人造成困扰。构建美好生态,人人有责。

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...