npm ci命令的基本使用方法
阿新 • • 發佈:2020-09-20
偶爾發現npm ci命令,使用下感覺比npm i快了許多,於是也來了解下該命令。
一、用途
npm ci和npm install命令一樣,是用來安裝依賴的命令,但他可以比常規的 npm 安裝快得多,也比常規安裝更嚴格,他可以npm依賴安裝的一致和穩定 (鎖版本)。
在package.json中,每次install後,對應的版本前都有個 ^ 符號。在這種情況下,你再次install時安裝的包的版本可能與前次不一樣,具體的,你可以到package-lock.json中檢視實際的包版本。
^的匹配規則是:>= 當前版本,且保持從左至右的第一個非零版本。舉例說明:
"^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命令時,便會遇到開發和測試、釋出時包版本不同的問題,這種細微的差別往往會導致嚴重的結局。
二、用法
在npm i(install)的地方改用npm ci,當然專案中必須有一個package-lock.json或npm-shrinkwrap.json。
注:npm版本要>=5.7。
三、區別
npm ci與npm i主要有以下的區別。
- npm i依賴package.json,而npm ci依賴package-lock.json。
- 當package-lock.json中的依賴於package.json不一致時,npm ci退出但不會修改package-lock.json。
- npm ci只可以一次性的安裝整個專案依賴,但無法新增單個依賴項。
- npm ci安裝包之前,會刪除掉node_modules資料夾,因此他不需要去校驗已下載檔案版本與控制版本的關係,也不用校驗是否存在最新版本的庫,所以下載的速度更快。
- npm安裝時,不會修改package.json與package-lock.json。
該命令在去年2月份就出了,居然現在才瞭解到,實在是懺愧。
總結
到此這篇關於npm ci命令的基本使用方法的文章就介紹到這了,更多相關npm ci命令內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!