npm ci 命令

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/csdn_yudong/article/details/84929546

说明

npm ci 类似于 npm-install ,但它旨在用于自动化环境,如测试平台,持续集成和部署。通过跳过某些面向用户的功能,它可以比常规的 npm 安装快得多。它也比常规安装更严格,它可以帮助捕获由大多数 npm 用户的增量安装的本地环境引起的错误或不一致。

使用

确保你有 package-lock 以及最新的安装:

$ cd ./my/npm/project
$ npm install
added 154 packages in 10s
$ ls | grep package-lock

【上面这个只是确保你的项目有 package-lock
【在有 package-lock 的项目,我们可以使用 npm ci 来替代 npm install

npm ci 在该项目中运行

$ npm ci
added 154 packages in 5s

重申一下: npm ci 类似于 npm-install ,但它旨在用于自动化环境,如测试平台,持续集成和部署。】

配置 Travis 构建时使用 npm ci 代替 npm install

# .travis.yml
install:
- npm ci
# keep the npm cache around to speed up installs
cache:
  directories:
  - "$HOME/.npm"

总结

总之,使用 npm installnpm ci 的主要区别是:

  • 该项目必须有一个 package-lock.jsonnpm-shrinkwrap.json
  • 如果 package-loc 中的依赖项与 package.json 的依赖项不匹配,npm ci 则将退出并显示错误,而不是更新 package-lock
  • npm ci 只能一次安装整个项目:使用此命令无法添加单个依赖项。
  • 如果 node_modules 已经存在,它将在 npm ci 开始安装之前自动删除。
  • 它永远不会写入 package.json 或任何包锁:安装基本上是冻结的。

一个例子

在这里插入图片描述

可以看到,这里使用了 npm ci 代替了 npm install
这是我在自动部署时,自动部署工具中默认使用了 npm ci 替代 npm install

关于上面这个截图的详情可以看这里:vue-cms 的一次构建日志

---------------------------(正文完)------------------------------------
一个前端的学习交流群,想进来面基的,可以点击这个logoVue学习交流,或者手动search群号:685486827


写在最后:约定优于配置-------软件开发的简约原则.
--------------------------------(完)--------------------------------------

我的:
个人网站: https://neveryu.github.io/neveryu/
Github: https://github.com/Neveryu
新浪微博: https://weibo.com/Neveryu

更多学习资源请关注我的新浪微博…

没有更多推荐了,返回首页