npm包發佈後能夠對包進行廢棄或刪除操做,廢棄和刪除的區別在於:node
不管是廢棄仍是刪除,都包含兩個層面:npm
廢棄緣由: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
記錄的版本號並沒有變化。code
第二步:安裝廢棄版本
切換到test-my-pkg目錄下,執行:blog
npm i yuyy-test-pkg@1.1.0
運行結果:教程
第三步:運行index.js
在test-my-pkg目錄下生命週期
node index.js
結果:
因此,廢棄的包除了安裝時會有警示,並不影響使用。
npm不鼓勵任何形式的刪除,主要由於咱們發佈的包可能已經被其餘人引用,若是咱們刪除了此包,其餘人在從新安裝含有咱們包的依賴的工程時,出現找不到包問題。
基於此,npm作了相關的刪除限制:
刪除的版本24小時後方可重發!
只有發佈72小時以內的包能夠刪除!
第一步:刪除發佈的包
咱們以前在《npm發佈包教程(二):發佈包》發佈的包僅爲演示所用,爲保持npm倉庫的純淨,咱們都刪除掉:
npm unpublish yuyy-test-pkg --force npm unpublish @yuyy/babel --force
第二步:去官網查找
第二步
切換到test-my-pkg目錄下,先將兩個包卸載:
npm rm yuyy-test-pkg @yuyy/babel
結果:
而後再從新安裝:
npm i yuyy-test-pkg @yuyy/babel
結果:
已經刪除的包沒法再安裝。
至此,咱們完成npm包的整個生命週期的演示過程,你們能夠開源的道路上又多了一條很重要的道路。
最後,我以爲做爲一個開發者,咱們有責任和義務維護每個社區的純淨,因此在發佈npm包的時候應該儘可能精益求精,避免發一些沒有價值的東西給其餘人形成困擾。構建美好生態,人人有責。
相關文章:
1.《npm發佈包教程(一):從npm提及》
2.《npm發佈包教程(二):發佈包》
3.《npm發佈包教程(三):安裝發佈包》
4.《npm發佈包教程(四):迭代》
5.《npm發佈包教程(五):廢棄/刪除》