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發佈包教程(五):廢棄/刪除》

相關文章
相關標籤/搜索