The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

深入理解 package-lock.json 的用途與適用情境

我最近幫一位同事整理一個已經維護 7 年的 Angular 專案,結果發現一個前後端分離的專案,只有「後端」有設定 CI / CD,前端一直以來都是人工建置與部署。我在弄 CI / CD 的時候,發現了許多 npm 套件版本有依賴問題,為了能消除這些惱人的警告,花了我好幾個小時的時間才得到徹底的解決。我這次會遇到套件依賴問題,就是因為當初的開發人員搞不定,多年來一直都視而不見,依賴問題從來都沒有搞定過,每次換人維護都用 npm install --forcenpm install --legacy-peer-deps 來解決問題,然後一代傳一代,變成祖傳的慣例,變成技術債。如果專案有個維護妥當的 package-lock.json 檔案,其實要還原套件不是什麼難事,今天這篇文章我就來深入探討這個問題。

... 繼續閱讀 ...