npm包發(fā)布后可以對(duì)包進(jìn)行廢棄或刪除操作,廢棄和刪除的區(qū)別在于:
- 廢棄不會(huì)將包或版本從npm倉(cāng)庫(kù)刪除,仍然可以繼續(xù)下載安裝,并在安裝的時(shí)候會(huì)有警示
- 刪除會(huì)將包從npm徹底刪除,無(wú)法被下載安裝
無(wú)論是廢棄還是刪除,都包含兩個(gè)層面:
- 版本的廢棄/刪除
- 包的廢棄/刪除
一、廢棄
廢棄原因:
- 版本:鼓勵(lì)用戶更新最新版本
- 包:此包內(nèi)容已經(jīng)過(guò)時(shí),沒(méi)有了維護(hù)的價(jià)值
第一步:廢棄指定版本
語(yǔ)法:npm deprecate <pkg>[@<version>] <message>
我們以djf-test-pkg為例:
npm deprecate @duanjiefei/babel@1.2.0 'test deprecate'
返回npm官網(wǎng)查看此時(shí)已紅色提示該package已經(jīng)廢棄
執(zhí)行后我們用npm view @duanjiefei/babel versions
查看版本:
記錄的版本號(hào)并無(wú)變化。
第二步:安裝廢棄版本
切換到test-my-pkg目錄下,執(zhí)行:
npm i @duanjiefei/babel@1.2.0
運(yùn)行結(jié)果:
第三步:運(yùn)行index.js
在test-my-pkg目錄下
node index.js
結(jié)果:
所以,廢棄的包除了安裝時(shí)會(huì)有警示,并不影響使用。
二、刪除
npm不鼓勵(lì)任何形式的刪除,主要因?yàn)槲覀儼l(fā)布的包可能已經(jīng)被其他人引用,如果我們刪除了此包,其他人在重新安裝含有我們包的依賴的工程時(shí),出現(xiàn)找不到包問(wèn)題。
基于此,npm做了相關(guān)的刪除限制:
- 刪除的版本24小時(shí)后方可重發(fā)!
- 只有發(fā)布72小時(shí)之內(nèi)的包可以刪除!
第一步:刪除發(fā)布的包
我們之前在《npm發(fā)布包教程(二):發(fā)布包》發(fā)布的包僅為演示所用,為保持npm倉(cāng)庫(kù)的純凈,我們都刪除掉:
npm unpublish djf-test-pkg --force
npm unpublish @duanjiefei/babel --force
第二步:去官網(wǎng)查找
第三步 切換到test-my-pkg目錄下,先將兩個(gè)包卸載:
npm rm djf-test-pkg @duanjiefei/babel
結(jié)果:
已經(jīng)刪除的包無(wú)法再安裝。
至此,我們完成npm包的整個(gè)生命周期的演示過(guò)程,大家可以開(kāi)源的道路上又多了一條很重要的道路。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-733766.html
最后,我覺(jué)得作為一個(gè)開(kāi)發(fā)者,我們有責(zé)任和義務(wù)維護(hù)每一個(gè)社區(qū)的純凈,所以在發(fā)布npm包的時(shí)候應(yīng)該盡量精益求精,避免發(fā)一些沒(méi)有價(jià)值的東西給其他人造成困擾。構(gòu)建美好生態(tài),人人有責(zé)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-733766.html
到了這里,關(guān)于npm發(fā)布包教程(五):廢棄/刪除的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!