npm install module -g 给出 MaxListenersExceededWarning

问题描述 投票:0回答:2

使用:

  • 节点12.9.0
  • npm 6.10.2
  • macOS 莫哈维

正在遵循在线教程,该教程教初学者如何通过发出

-g
标志来全局安装 npm 模块:

myapp$ npm i [email protected] -g

输出:

(node:26645) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:26645) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:26645) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:26645) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:26645) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:26645) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:26645) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:26645) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:26645) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:26645) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
/usr/local/bin/nodemon -> /usr/local/lib/node_modules/nodemon/bin/nodemon.js

> [email protected] install /usr/local/lib/node_modules/nodemon/node_modules/fsevents
> node install

node-pre-gyp WARN Using needle for node-pre-gyp https download 
[fsevents] Success: "/usr/local/lib/node_modules/nodemon/node_modules/fsevents/lib/binding/Release/node-v72-darwin-x64/fse.node" is installed via remote

> [email protected] postinstall /usr/local/lib/node_modules/nodemon
> node bin/postinstall || exit 0

Love nodemon? You can now support the project via the open collective:
 > https://opencollective.com/nodemon/donate

+ [email protected]
added 289 packages from 144 contributors in 13.382s

我是 Node.js 新手,如何修复/关闭此警告?

我是否必须在全局安装所需模块的所有 Node.js 项目文件中使用

Use emitter.setMaxListeners()

当我使用 sudo 时,这也是同样的警告:

sudo npm i [email protected] -g

node.js npm memory-leaks
2个回答
2
投票

我也刚刚遇到这个问题。这是一个错误,似乎已在 v12.9.1 中修复。更新对我来说很有用。


0
投票

在我的场景中,遇到的问题源于与网络相关的更改。这两天网络基础设施升级,导致

https://registry.npmjs.org/
官方NPM镜像地址不可用,执行
npm install
时出现警告:

MaxListenersExceededWarning: Possible EventEmitter memory leak detected 11 close listeners added to [TLSSocket] Use emitter. setMaxListeners() to increase limit

此警告在一段时间后会出现错误:

Npm ERR! Code ETIMEOUT
Npm ERR! Errno ETIMEOUT
Npm ERR! Network request to https://registry.npmjs.org/npm Failed, reason:
Npm ERR! Network This is a problem related to network connectivity
Npm ERR! Network In most cases you are behind a proxy or have bad network settings
Npm ERR! Network
Npm ERR! Network If you are behind a proxy, please make sure that the
Npm ERR! Network 'proxy' config is set property See: 'npm help config'

要解决此问题,请考虑切换到中国大陆境内的备用图像源,例如:

Npm config set registry https://registry.npm.taobao.org // Taobao
Npm config set registry https://mirrors.huaweicloud.com/repository/npm // Huawei

仅供参考。

© www.soinside.com 2019 - 2024. All rights reserved.