npm 安装中的 ^ 版本以及 npm ci 安装

963 阅读1分钟

以安装vue举例

^ 版本

^ 代表取当前大版本最新的版本,比如已知当前vue的最新版本是2.6.10,如果这样写:

"dependencies": {
"vue": "^2.1.0"
}

则在 npm i 的时候,会装上 2.6.10 版本,查看 node_modules/vue/package.json会发现里面的version2.6.10;

npm ci安装

npm ci是从package-lock.json版本安装依赖;

比如当package.json 里面这样写

"dependencies": {
"vue": "^2.6.9"
}

此时npm ivue 版本则为最新版本2.6.10 , 而通过npm ci安装时,package-lock.json里面是这样的

"vue": {
  "version": "2.6.9",
  "resolved": "https://registry.npm.taobao.org/vue/download/vue-2.6.9.tgz",
  "integrity": "sha1-8hy8U2v8FPfR15KhN7sS9p5g6pE="
}

则安装的是 2.6.9版本;

注意:

  1. 使用npm ci时,该项目必须有一个 package-lock.jsonnpm-shrinkwrap.json;
  2. 如果 package-loc 中的依赖项与 package.json 的依赖项不匹配,npm ci 则将退出并显示错误,并且不更新 ·package-lock·。