接收弃用警告:使用不带`new`的caching将很快停止工作

我正在写一个快速服务器,并且由于我升级了我的节点到7.1.x版本,我一直在收到以下警告:

(node:23488)DeprecationWarning:不使用new Buffer将很快停止工作。 使用new Buffer() ,或者最好使用Buffer.from()Buffer.allocUnsafe()Buffer.alloc()

我不记得在任何地方使用Buffer 。 我只知道我在应用程序中初始化了log-file-rotator模块,这可能是唯一与缓冲区有关的事情。

 const fileStream = require('file-stream-rotator') const LOG_PATH = path.join(__dirname, '..', 'logs') const PORT = process.env.npm_package_config_port || 4000 let logFileStream = fileStream.getStream({ date_format: 'YYYYMMDD', filename: path.join(LOG_PATH, 'access-%DATE%.log'), frequency: 'daily', verbose: false }) 

但是,在他们的源代码回购看来,我没有注意到任何与Buffer调用声明。

为什么错误,以及如何解决它?

我在OSX上有一个有限的grep。 我使用HomeBrew安装了ack

 brew install ack 

然后运行下面的searchBuffer(...)实例没有以前new

 ack --js '(?<!new) Buffer\(' --noignore-dir=node_modules/ 

您也可以输出到一个文件:

 ack --js '(?<!new) Buffer\(' --noignore-dir=node_modules/ > ~/Desktop/buffer.txt 

然后检查可能触发该警告的Buffer的用法,例如:

 var a = Buffer(something) 

一旦你有一个问题的软件包列表,然后你可以找出什么依赖于他们:

 npm ls 

这将打印出包树,您可以在其中find哪些主包可能需要更新或提交问题。