最近在 clone 新專案時,下了 npm install,發現 package-lock.json 裡的套件版本被更新了,但又怕推上去會有版本上的問題😓
爬了一下文才知道,原來 npm install 會自動幫你更新套件😨 可是瑞凡~~~我沒有要更新啊!!
不過意外也發現了另一個好東西npm ci
,可以解決這個問題。
什麼是 npm ci ?
npm ci 跟 npm i 一樣,都可以安裝依賴,npm ci 的 ci 是「Continuous Integration」,中文是持續集成的意思,這個指令在 npm 5.7.1 的版本才能使用。
npm install 與 npm ci 有什麼差別?
npm install 針對 package.json 的版本來安裝套件,執行後會出現 node_modules、package-lock.json,會自動還原專案並更新套件
npm ci 針對 package-lock.json 的版本來安裝套件,專案需有 package-lock.json 或 npm-shrinkwrap.json 文件存在,因為是參照package-lock.json 的版本,所以不會有版本自動更新的問題
另外還有一些 npm ci 需注意的地方
🔸 當 package-lock.json 中的依賴於 package.json 不一致時,npm ci 退出但不會修改 package-lock.json
🔸 npm ci 只可以一次性的安裝整個專案依賴,但無法新增單個依賴項
🔸 如果 node_modules 已經存在,它會先刪除 node_modules 之後再安裝,以確保乾淨的狀態
以上是我的學習筆記,希望也有幫助到你哦 😀
參考文獻:
🚀實體工作坊分享
玩轉 Web 頁面的前端技術(HTML/CSS/JS) 一日體驗課
最近時賦學苑開了實體體驗課,即使你對程式碼沒有概念也能上手!Lala 會帶你一起做出一個個人品牌形象網站,帶你快速了解前端的開發流程,快跟我們一起玩轉 Web 吧!
🚀線上課程分享
線上課程可以加速學習的時間,省去了不少看文件的時間XD,以下是我推薦的一些課程想學習更多關於前後端的線上課程,可以參考看看。
Hahow
Hahow 有各式各樣類型的課程,而且是無限次數觀看,對學生或上班族而言,不用擔心被時間綁住六角學院
如果你是初學者,非常推薦六角學院哦!剛開始轉職也是上了六角的課,非常的淺顯易懂,最重要的是,隨時還有線上的助教幫你解決問題!

Udemy
Udemy 裡的課程非常的多,品質普遍不錯,且價格都滿實惠的,CP值很高!也是很多工程師推薦的線上課程網站。
