簡體   English   中英

在生產中,每次部署時都應清理並重新安裝node_modules嗎?

[英]In production, should i clean and reinstall node_modules everytime I deploy?

我們有10個以上的prod服務器實例,每次更新依賴關系時,清理和重新安裝的聲音都受到更好的控制,但速度也有所降低。

問題是devops團隊抱怨每次package.json更改時都要進行一次干凈的操作(在刪除現有的node_modules之后) npm install 如果確實在現有的node_modules上運行update或install,我們有時會發現在prod上的構建中斷。

是否有生產部署的最佳實踐? 如何在這里優化安全更新node_modules的過程?

在較新的npm版本中,具有用於鎖定依賴項版本的功能。

與package.json一起存在一個名為package-lock.json的文件。 在開發環境中安裝該依賴文件時,該鎖定文件將鎖定依賴文件版本。 因此,當您使用npm install從package.json將其安裝在生產環境中時,它將從package-lock.json文件獲取鎖定版本,並將安裝與開發環境相同的特定版本。

這意味着您無需在每次生產時都清潔node_module文件夾。 您可以僅從package.json文件安裝新添加的依賴項,其版本將從package-lock.json文件獲取。

還有另一個名為“ yarn”的軟件包管理器,它提供相同的功能,但是如果您要堅持使用npm,那么現在可以在新的npm版本中使用它。

經過幾個月的努力,我對此感到震驚。 我在NPM上遇到了這個軟件包: npm-check-updates

npm-check-updates允許您將package.json依賴項升級到最新版本。

您要做的就是運行

  • npm安裝npm-check-updates --save
  • ncu -u
  • npm安裝

這對我來說很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM