如何抑制npm WARN在bash中弃用了消息

时间:2016-07-09 12:14:04

标签: node.js linux bash npm

我在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.

如何取消这些讯息?

3 个答案:

答案 0 :(得分:3)

您可以通过环境变量来抑制或静默NPM:

npm_config_loglevel=silent npm version

这应该适用于.bashrc(或您调用nvm的任何地方):

npm_config_loglevel=silent nvm use 0.10

或者您可以全局设置环境变量

export npm_config_loglevel=silent

可以找到不同的日志级别here - 它们是:

  

“沉默”,“错误”,“警告”,“http”,“信息”,“详细”,“愚蠢”

答案 1 :(得分:2)

您可以通过删除事件侦听器在脚本中执行此操作

#!/usr/bin/env node

process.removeAllListeners('warning');

// Do your thang without triggering warnings

所有归功于Sam Roberts:https://github.com/nodejs/node/issues/32876#issuecomment-616709931

答案 2 :(得分:1)

您还可以在项目,用户目录或全局中添加.npmrc文件。 四个相关文件是:

  • 每个项目的配置文件(/path/to/my/project/.npmrc)
  • 每个用户的配置文件(〜/ .npmrc)
  • 全局配置文件($ PREFIX / etc / npmrc)
  • npm内置配置文件(/ path / to / npm / npmrc)

示例:

prefix=~/.npm-global
loglevel=error

更多信息here