node.js - 如何避免 npm install/update 意外?

标签 node.js angular npm angular-cli devops

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

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

  • 问题 2: 每次我进行 npm update 或使用 ncu 时,我都会花费数小时/数天来尝试处理模块之间的不一致.为什么会在 2018 年发生这种情况?

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

注意:我使用 Angular

最佳答案

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

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

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

请参阅 npm 文档:https://docs.npmjs.com/files/package-lock.json

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

关于node.js - 如何避免 npm install/update 意外?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48440608/

相关文章:

javascript - 如何将带括号的字符串解析为数组数组?

javascript - 如何在javascript中调用数组时以变量为键进行调用

angular - 类型 'json' 上不存在属性 'Object'

javascript - Laravel Vue.js 应用程序未运行

javascript - 如何使用索引数组来更改深度未知的多维对象中的特定项目?

java - 在 angular 9 和 spring boot 2 中请求的资源上不存在 'Access-Control-Allow-Origin' header

json - 如何在 Angular2 中与其动态交互的 2 个组件中注入(inject)相同的服务

javascript - 添加多行 google-spreadsheet npm

node.js - 我想在 'npm install' 下载一些资源,大概使用 'prepublish' 脚本

javascript - 如何使这个 JS 函数异步?