接收弃用警告:使用不带`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哪些主包可能需要更新或提交问题。