簡體   English   中英

如何在 bash 中抑制 npm WARN 已棄用的消息

[英]How to suppress npm WARN deprecated messages in bash

我在 Linux Mint 18.0 中安裝了多個版本的node.js 我使用nvm管理它們。 由於項目依賴性,我需要將版本 0.10 作為默認版本( nvm use 0.10 )。 因此,每次啟動終端時,都會得到以下輸出:

npm WARN deprecated This version of npm lacks support for important features,
npm WARN deprecated such as scoped packages, offered by the primary npm
npm WARN deprecated registry. Consider upgrading to at least npm@2, if not the
npm WARN deprecated latest stable version. To upgrade to npm@2, run:
npm WARN deprecated 
npm WARN deprecated   npm -g install npm@latest-2
npm WARN deprecated 
npm WARN deprecated To upgrade to the latest stable version, run:
npm WARN deprecated 
npm WARN deprecated   npm -g install npm@latest
npm WARN deprecated 
npm WARN deprecated (Depending on how Node.js was installed on your system, you
npm WARN deprecated may need to prefix the preceding commands with `sudo`, or if
npm WARN deprecated on Windows, run them from an Administrator prompt.)
npm WARN deprecated 
npm WARN deprecated If you're running the version of npm bundled with
npm WARN deprecated Node.js 0.10 LTS, be aware that the next version of 0.10 LTS
npm WARN deprecated will be bundled with a version of npm@2, which has some small
npm WARN deprecated backwards-incompatible changes made to `npm run-script` and
npm WARN deprecated semver behavior.

如何抑制這些消息?

您可以通過環境變量抑制或靜默 NPM:

npm_config_loglevel=silent npm version

這應該適用於您的.bashrc (或您調用nvm任何地方):

npm_config_loglevel=silent nvm use 0.10

或者你可以全局設置環境變量

export npm_config_loglevel=silent

可以在此處找到不同的日志級別 - 它們是:

“無聲”、“錯誤”、“警告”、“http”、“信息”、“詳細”、“愚蠢”

您還可以在您的項目、用戶目錄或全局中添加 .npmrc 文件。 四個相關文件是:

  • 每個項目的配置文件(/path/to/my/project/.npmrc)
  • 每個用戶的配置文件 (~/.npmrc)
  • 全局配置文件 ($PREFIX/etc/npmrc)
  • npm 內置配置文件 (/path/to/npm/npmrc)

示例:

prefix=~/.npm-global
loglevel=error

更多信息在這里

您可以通過刪除事件偵聽器在腳本中執行此操作

#!/usr/bin/env node

process.removeAllListeners('warning');

// Do your thang without triggering warnings

所有功勞歸功於 Sam Roberts: https : //github.com/nodejs/node/issues/32876#issuecomment-616709931

2021 年更新:

(我的問題不是npm WARN deprecated消息,而是npm WARN npm消息,但這仍然適用)

我在 Ubuntu 上使用npm v8,我也使用nvm v0.33.11。 出於個人原因,我必須使用node 14 而不是當前版本節點 16。

我的解決方案來抑制這個:

npm WARN npm npm does not support Node.js v14.4.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm cannot make any promises that npm will work with this version.
npm WARN npm You can find the latest version at https://nodejs.org/

在文件$HOME/.nvm/nvm.sh

在行 ~ 2155 我改變這個

   NVM_NPM_PREFIX="$(npm config --loglevel=warn get prefix)"

對此

   NVM_NPM_PREFIX="$(npm config --loglevel=silent get prefix)"

另外(也許這是可選的),我還更改了$HOME/.nvm/.npmrc在我添加這一行的地方

loglevel=silent

正如在此 SO 帖子中的其他答案中所提出的那樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM