npm 嚴格安裝 ci

2021-10-29 10:48 更新

重新開始安裝一個項目

概要

npm ci

描述

此命令類似npm-install,不同之處在于它旨在用于自動化環(huán)境,例如測試平臺、持續(xù)集成和部署 —— 或者你希望確保對依賴項進行全新安裝的任何情況。通過跳過某些面向用戶的功能,它可以比常規(guī)的 npm 安裝快得多。它也比常規(guī)安裝更嚴格,可以幫助捕獲由大多數 npm 用戶增量安裝的本地環(huán)境引起的錯誤或不一致。

簡而言之,使用npm install和之間的主要區(qū)別npm ci是:

  • 該項目必須具有現有的package-lock.jsonnpm-shrinkwrap.json.
  • 如果包鎖中的依賴項與 中的不匹配package.json,npm ci將退出并顯示錯誤,而不是更新包鎖。
  • npm ci?一次只能安裝整個項目:無法使用此命令添加單個依賴項。
  • 如果 anode_modules已經存在,它將在npm ci開始安裝之前自動刪除。
  • 它永遠不會寫入package.json或任何包鎖:安裝基本上是凍結的。

例子

確保你有一個包鎖和一個最新的安裝:

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

npm ci在那個項目中運行

$ npm ci
added 154 packages in 5s

將 Travis 配置為使用npm ci而不是構建npm install

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

配置

audit 審計

  • 默認值:true
  • 類型:Boolean

當為true時,將審計報告與當前 npm 命令一起提交到默認注冊表和為范圍配置的所有注冊表。有關npm audit提交內容的詳細信息,請參閱文檔。

ignore-scripts 忽略腳本

  • 默認值:false
  • 類型:Boolean

如果為 true,則 npm 不會運行 package.json 文件中指定的腳本。

請注意,明確用于運行特定腳本的命令,例如?npm start,?npm stop,?npm restart,?npm test, 并且npm run-script?如果ignore-scripts已設置仍將運行其預期腳本,但它們不會運行任何前置或后置腳本。

script-shell

  • 默認值:POSIX 系統(tǒng)上的/bin/sh,Windows 上的cmd.exe
  • 類型:nullString

用于腳本的 shell 與npm exec,npm runnpm init <pkg>命令一起運行。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號