npm ci命令的基本使用方法
偶爾發(fā)現(xiàn)npm ci命令,使用下感覺比npm i快了許多,于是也來了解下該命令。
一、用途
npm ci和npm install命令一樣,是用來安裝依賴的命令,但他可以比常規(guī)的 npm 安裝快得多,也比常規(guī)安裝更嚴(yán)格,他可以npm依賴安裝的一致和穩(wěn)定 (鎖版本)。
在package.json中,每次install后,對(duì)應(yīng)的版本前都有個(gè) ^ 符號(hào)。在這種情況下,你再次install時(shí)安裝的包的版本可能與前次不一樣,具體的,你可以到package-lock.json中查看實(shí)際的包版本。
^的匹配規(guī)則是:>= 當(dāng)前版本,且保持從左至右的第一個(gè)非零版本。舉例說明:
"^1.2.3": 大于等于 1.2.3 且小于 2.0.0版本
"^0.3.4": 大于等于 0.3.4 且小于 0.4.0版本
"^0.0.6": 大于等于 0.0.6 且小于 0.0.7版本
若我們一直使用install命令時(shí),便會(huì)遇到開發(fā)和測試、發(fā)布時(shí)包版本不同的問題,這種細(xì)微的差別往往會(huì)導(dǎo)致嚴(yán)重的結(jié)局。
二、用法
在npm i(install)的地方改用npm ci,當(dāng)然項(xiàng)目中必須有一個(gè)package-lock.json或npm-shrinkwrap.json。
注:npm版本要>=5.7。
三、區(qū)別
npm ci與npm i主要有以下的區(qū)別。
- npm i依賴package.json,而npm ci依賴package-lock.json。
- 當(dāng)package-lock.json中的依賴于package.json不一致時(shí),npm ci退出但不會(huì)修改package-lock.json。
- npm ci只可以一次性的安裝整個(gè)項(xiàng)目依賴,但無法添加單個(gè)依賴項(xiàng)。
- npm ci安裝包之前,會(huì)刪除掉node_modules文件夾,因此他不需要去校驗(yàn)已下載文件版本與控制版本的關(guān)系,也不用校驗(yàn)是否存在最新版本的庫,所以下載的速度更快。
- npm安裝時(shí),不會(huì)修改package.json與package-lock.json。
該命令在去年2月份就出了,居然現(xiàn)在才了解到,實(shí)在是懺愧。
總結(jié)
到此這篇關(guān)于npm ci命令的基本使用方法的文章就介紹到這了,更多相關(guān)npm ci命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
node-webkit打包成exe文件被360誤報(bào)木馬的解決方法
這篇文章主要介紹了node-webkit打包成exe文件被360誤報(bào)木馬的解決方法的相關(guān)資料,需要的朋友可以參考下2015-03-03
NodeJs讀取JSON文件格式化時(shí)的注意事項(xiàng)
本文是作者在進(jìn)行NodeJs開發(fā)時(shí)偶然發(fā)現(xiàn)的問題,經(jīng)過一番努力,最終找到解決方案,分享給大家,有需要的小伙伴可以參考下2016-09-09
基于NodeJS的前后端分離的思考與實(shí)踐(一)全棧式開發(fā)
這個(gè)話題最近被討論得比較多,阿里有些BU也在進(jìn)行一些嘗試。討論了很久之后,我們團(tuán)隊(duì)決定探索一套基于NodeJS的前后端分離方案,過程中有一些不斷變化的認(rèn)識(shí)以及思考,記錄在這里,也希望看到的同學(xué)參與討論,幫我們完善。2014-09-09
基于Node-red的在線評(píng)語系統(tǒng)(可視化編程,公網(wǎng)訪問)
Node-Red是IBM公司開發(fā)的一個(gè)可視化的編程工具,在網(wǎng)頁內(nèi)編程,主要是拖拽控件,代碼量很小,這篇文章主要介紹了基于Node-red的在線評(píng)語系統(tǒng)(可視化編程,公網(wǎng)訪問),需要的朋友可以參考下2022-01-01
Nodejs中使用captchapng模塊生成圖片驗(yàn)證碼
本篇文章主要介紹了Nodejs中使用captchapng模塊實(shí)現(xiàn)圖片驗(yàn)證碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-05-05
整理幾個(gè)關(guān)鍵節(jié)點(diǎn)深入理解nodejs
這篇文章主要介紹了整理幾個(gè)關(guān)鍵節(jié)點(diǎn)深入理解nodejs,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下,需要的小伙伴可以參考一下2022-07-07
Node.js使用MongoDB的ObjectId作為查詢條件的方法
這篇文章主要介紹了Node.js使用MongoDB的ObjectId作為查詢條件的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

