npm發佈包教程(五):廢棄/刪除

npm包發佈後可以對包進行廢棄或刪除操作,廢棄和刪除的區別在於:

  • 廢棄不會將包或版本從npm倉庫刪除,仍然可以繼續下載安裝,並在安裝的時候會有警示
  • 刪除會將包從npm徹底刪除,無法被下載安裝

無論是廢棄還是刪除,都包含兩個層面:

  • 版本的廢棄/刪除
  • 包的廢棄/刪除

一、廢棄

廢棄原因:

  • 版本:鼓勵用戶更新最新版本
  • 包:此包不再有維護的價值

第一步:廢棄指定版本
語法:npm deprecate <pkg>[@<version>] <message>

我們以yuyy-test-pkg爲例:

npm deprecated [email protected] 'test deprecate'

執行後我們用npm view yuyy-test-pkg versions查看版本:

clipboard.png

記錄的版本號並無變化。

第二步:安裝廢棄版本
切換到test-my-pkg目錄下,執行:

npm i [email protected]

運行結果:

clipboard.png

第三步:運行index.js
在test-my-pkg目錄下

node index.js

結果:
clipboard.png

廢棄的包除了安裝時會有警示,並不影響使用。

二、刪除

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章