npm update 都做了什么?

这个命令会将所有列出的包更新到最新的版本(由 package.json 版本号决定),这个是根据 Semver 语义化版本来控制模块的
对应 [magor, minor, patch]

  • ~ 升级到 patch 的最新
  • ^ 升级到 minor, patch 的最新

npm i xxx 时,默认会使用 ^ 版本控制

  1. npm i axios
  2. # package.json 产出如下
  3. # "axios": "^0.25.0"

其他参数

  • —production 执行npm install就只安装dependencies里面的包
  • —no-optional 安装时跳过可选包安装(有 package-lock 时,依旧会安装)

  • —no-optional —no-package-lock 这样才能 100%跳过可选包安装

我们有些项目配置了这个 npm install —no-optional —production