目錄
記錄
選擇 CLI 版本
目錄
說明
npm
CLI 有各種機制,可針對特定指令、組態和環境向最終使用者顯示不同層級的資訊。
設定日誌檔位置
所有記錄都會寫入偵錯記錄,如果指令執行失敗,則會印出該檔案的路徑。
記錄目錄的預設位置是 npm 快取中的 _logs
目錄。這可以使用 logs-dir
組態選項進行變更。
例如,如果您想將所有記錄寫入目前的作業目錄,您可以執行:npm install --logs-dir=.
。這在偵錯特定 npm
問題時特別有用,因為您可以使用不同的組態值執行指令多次,然後對所有記錄檔執行 diff。
當記錄檔數量超過 logs-max
時,記錄檔會從 logs-dir
中移除,最舊的記錄會先刪除。
若要完全關閉記錄,請設定 --logs-max=0
。
設定日誌層級
loglevel
loglevel
是可以設定的全球引數/組態,用於決定要顯示的資訊類型。
loglevel
的預設值為 "notice"
,但有許多層級/類型的記錄可用,包括
"silent"
"error"
"warn"
"notice"
"http"
"info"
"verbose"
"silly"
會顯示所有屬於目前設定之前層級的記錄。
別名
上面列出的記錄層級有許多對應的別名,包括
-d
:--loglevel info
--dd
:--loglevel verbose
--verbose
:--loglevel verbose
--ddd
:--loglevel silly
-q
:--loglevel warn
--quiet
:--loglevel warn
-s
:--loglevel silent
--silent
:--loglevel silent
foreground-scripts
自 v7
開始,npm
CLI 開始隱藏 npm install
的生命週期腳本輸出。特別是,這表示您不會看到使用「安裝腳本」顯示資訊給您的套件,或您在 package.json
中定義的專案腳本的記錄/輸出。如果您想變更此行為並記錄此輸出,您可以將 foreground-scripts
設為 true
。
計時資訊
--timing
設定可以設定,它會執行一些事情
- 不論命令結束狀態如何,總是顯示除錯記錄的完整路徑
- 將計時資訊寫入快取或
logs-dir
中的特定於程式的計時檔案 - 將計時資訊輸出至終端機
此檔案包含一個 timers
物件,其中鍵是計時處理程序部分的識別碼,而值是完成所需的時間(毫秒)。
有時,在不輸出任何內容至終端機的情況下取得計時資訊會很有幫助。例如,效能可能會受到寫入終端機的影響。在這種情況下,您可以使用 --timing --silent
,它仍會寫入計時檔案,但不會在執行時輸出任何內容至終端機。
登錄回應標頭
npm-notice
npm
CLI 會從設定的登錄檔傳回的任何 npm-notice
標頭中讀取並記錄。當發生依賴網路的請求時,第三方登錄檔可以使用此機制提供有用的資訊。
此標頭未快取,如果請求是由快取提供,則不會記錄。
日誌和敏感資訊
npm
CLI 會盡力從終端機輸出和記錄檔中刪除以下內容
- 基本驗證 URL 中的密碼
- npm 令牌
但是,不應依賴此行為來刪除所有可能的敏感資訊。如果您擔心記錄檔或終端機輸出中的機密,您可以使用 --loglevel=silent
和 --logs-max=0
來確保沒有記錄寫入您的終端機或檔案系統。