npm发布包教程(五):废弃/删除

npm包发布后能够对包进行废弃或删除操做,废弃和删除的区别在于:node

  • 废弃不会将包或版本从npm仓库删除,仍然能够继续下载安装,并在安装的时候会有警示
  • 删除会将包从npm完全删除,没法被下载安装

不管是废弃仍是删除,都包含两个层面:npm

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

1、废弃

废弃缘由:segmentfault

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

第一步:废弃指定版本
语法:npm deprecate <pkg>[@<version>] <message>babel

咱们以yuyy-test-pkg为例:spa

npm deprecate yuyy-test-pkg@1.1.0 'test deprecate'

执行后咱们用npm view yuyy-test-pkg versions查看版本:3d

clipboard.png

记录的版本号并没有变化。code

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

npm i yuyy-test-pkg@1.1.0

运行结果:教程

clipboard.png

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

node index.js

结果:
clipboard.png

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

2、删除

npm不鼓励任何形式的删除,主要由于咱们发布的包可能已经被其余人引用,若是咱们删除了此包,其余人在从新安装含有咱们包的依赖的工程时,出现找不到包问题。

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

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

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

npm unpublish yuyy-test-pkg --force
npm unpublish @yuyy/babel --force

第二步:去官网查找

clipboard.png

clipboard.png

第二步
切换到test-my-pkg目录下,先将两个包卸载:

npm rm yuyy-test-pkg @yuyy/babel

结果:

clipboard.png

而后再从新安装:

npm i yuyy-test-pkg @yuyy/babel

结果:

clipboard.png

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

至此,咱们完成npm包的整个生命周期的演示过程,你们能够开源的道路上又多了一条很重要的道路。

最后,我以为做为一个开发者,咱们有责任和义务维护每个社区的纯净,因此在发布npm包的时候应该尽可能精益求精,避免发一些没有价值的东西给其余人形成困扰。构建美好生态,人人有责。

相关文章:
1.《npm发布包教程(一):从npm提及》
2.《npm发布包教程(二):发布包》
3.《npm发布包教程(三):安装发布包》
4.《npm发布包教程(四):迭代》
5.《npm发布包教程(五):废弃/删除》

相关文章
相关标签/搜索