说明
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 install 和 npm ci 的主要区别是:
- 该项目必须有一个
package-lock.json或npm-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 的一次构建日志
---------------------------(正文完)------------------------------------
一个前端的学习交流群,想进来面基的,可以点击这个logo
,或者手动search群号:685486827
-------------------------------- (完)--------------------------------------
我的:
个人网站: https://neveryu.github.io/neveryu/
Github: https://github.com/Neveryu
新浪微博: https://weibo.com/Neveryu
更多学习资源请关注我的新浪微博…
967

被折叠的 条评论
为什么被折叠?



