翻譯 medium.com/better-prog…vue
使用 npm 能夠輕鬆安裝和更新依賴項。npmjs 上列出了可使用的依賴項(例如Vue.js 框架),甚至還顯示了能夠複製並粘貼到終端的安裝命令,如npm i vue
。npm
若是你已經使用 npm 一段時間了,那麼你將經常使用 npm install(或更短的 npm i)來安裝或更新依賴項。json
雖然這個安裝命令仍然有效,可是在 npm v6 中仍是引入了一個新的命令 - npm ci
,那麼它是用來作什麼的?與 npm i
又有什麼差別?安全
. . .框架
npm install
,或者 npm i
,一般是用來安裝依賴項:工具
^
或 ~
來匹配依賴項的版本時,則 npm 可能沒法安裝確切版本;npm install
安裝新依賴項時,會更新 package-lock.json。. . .翻譯
使用 npm ci
,會發生:code
node_modules
文件夾;package.json
來安裝確切版本的依賴項;npm install
,npm ci
不會修改你的 package-lock.json
。可是它確實指望你的項目中有一個 package-lock.json
文件 - 若是你沒有這個文件,npm ci
將不起做用,此時必須使用 npm install
。若是你使用 npm ci
,你將得到可靠的構建。特別是當您在 Jenkins 或 GitLab CI 等持續集成工具中運行時,這將很是有用。ci
. . .
若是你使用 npm v6+:
npm ci
,或者某些不修改 package-lock.json 的狀況下安裝依賴項。若是你使用 npm v5 或者更低的版本:
npm install
來安裝或者更新依賴項;npm ci
以外,它還具備 npm audit
命令,能夠更輕鬆地識別和修復依賴項的安全漏洞。此外,使用 npm v6
安裝依賴項應該更快。. . .
如您所見,這兩個命令都有其適用地場景。若是可能的話,我建議使用 npm ci
,由於它可靠地完成它的工做,並使用 npm install
來安裝新的依賴項或更新現有的依賴項。