TypeError: Buffer.alloc 在访问 firebase 工具时不是函数

Posted

技术标签:

【中文标题】TypeError: Buffer.alloc 在访问 firebase 工具时不是函数【英文标题】:TypeError: Buffer.alloc is not a function while accessing firebase tools 【发布时间】:2018-01-27 23:17:34 【问题描述】:

我正在尝试从我的终端访问 firebase 控制台,但由于这个错误,我也无法访问

我也检查了这个post,但不太明白,因为我之前没有在 node.js 上工作过

提前致谢

【问题讨论】:

您使用的是过时的 Node.js 版本。您使用的是哪个操作系统/发行版? @robertklep,我使用的是 Ubuntu 16.04。几天前它工作得很好。突然间,它从早上开始显示此错误 node --version 返回什么? 返回 v4.2.6 好吧,那太旧了。对于 Ubuntu,我建议使用这些说明安装更新版本的 Node.js:nodejs.org/en/download/package-manager/… 也许您需要先卸载当前安装的版本。 【参考方案1】:

Buffer.alloc 是在 5.10 中添加的,如历史详细信息中所述,here,由于未填充缓冲区的安全问题。因此,实现者必须迅速改变这一点,可能会破坏旧的 Node 客户端。我还建议,在使用云功能时,匹配他们的 Node 版本,(在撰写本文时)是 Node 6.14.0。

【讨论】:

【参考方案2】:

试试这个,它对我有用。反复试验:

npm install buffer -g

经过测试的实例:

const <yourInstanveVar> = require('buffer').Buffer.allocUnsafe(<yourSize>) 

console.log(<yourInstanceVar>);

返回(Node JS v8.12.0):

"C:\Program Files\JetBrains\phpStorm 2017.1.1\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" F:\JSX\Development\Scratchpads\buffersFS.js
<Buffer 00 00 00 00 00 00 00 00 00 00>

Process finished with exit code 0

【讨论】:

以上是关于TypeError: Buffer.alloc 在访问 firebase 工具时不是函数的主要内容,如果未能解决你的问题,请参考以下文章

Buffer.alloc()

node 基础API(Buffer)

nodejs_buffer.concat

Node.js 指南(迁移到安全的Buffer构造函数)

buffer

Node http,buffer