gpt4 book ai didi

node.js - 收到弃用警告 : Using Buffer without `new` will soon stop working

转载 作者:太空宇宙 更新时间:2023-11-03 21:56:08 28 4
gpt4 key购买 nike

我正在编写一个 Express 服务器,自从我将 Node 升级到 7.1.x 版本以来,我一直收到以下警告:

(node:23488) DeprecationWarning: Using Buffer without new will soon stop working. Use new Buffer(), or preferably Buffer.from(), Buffer.allocUnsafe() or Buffer.alloc() instead.

我不记得在任何地方使用过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
})

但是,查看 their source repo ,我没有注意到任何带有 Buffer 调用的语句。

为什么会出现这个错误,如何解决?

最佳答案

我使用的是 OSX,它的 grep 功能有限。我使用 HomeBrew 安装了 ack:

brew install ack

然后运行以下搜索来查找前面没有 newBuffer(...) 实例:

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

这会打印出包树,您可以在其中找到哪个主包可能需要更新或提交问题。

关于node.js - 收到弃用警告 : Using Buffer without `new` will soon stop working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40628329/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com