如何避免 npm install/update 意外?

use*_*105 7 node.js npm devops angular-cli angular

部署/升级时如何安全地进行 npm install/update ?

  • 问题一: npm install是有状态的操作,在命令执行的时候依赖于最新版本的依赖。这会在部署时引起意外,因为package.json文件指示范围而不是特定版本。

  • 问题 2:每次我制作npm update或使用时ncu,我都会花费数小时/数天的时间来处理模块之间的不连贯性。为什么会在 2018 年发生这种情况?

  • 问题 3:如何拥有package.json准确描述已安装包的状态而不是范围的文件,以便我可以毫无意外地进行部署?

注意:我使用 Angular

Cha*_*own 7

如果您使用yarn或更新版本npm,它将为您生成一个yarn.lockpackage-lock.json

这将在首次安装时保留任何软件包的版本,因此进一步调用yarnnpm install将获取并安装这些版本。

当然,您应该将这些锁定文件添加到您的存储库中以便进行全新克隆的任何人都安装相同的依赖项。

查看 npm 文档:https ://docs.npmjs.com/files/package-lock.json

和纱线文档:https : //yarnpkg.com/lang/en/docs/yarn-lock/

  • 在我的例子中,npm 正在安装过程中修改包锁并更改版本号。 (2认同)