NodeJS TypeError:Buffer.alloc不是函数

b5buobof  于 2023-06-29  发布在  Node.js
关注(0)|答案(6)|浏览(131)

从节点文档中,我尝试了一些来自Buffer的代码。
当我执行此语句时

const buf = Buffer.from('hello world', 'ascii');

它抛出一个异常:TypeError: Buffer.alloc is not a function
我的节点版本是v5.7.1。
我不明白为什么?
这是错误屏幕。

j2cgzkjk

j2cgzkjk1#

新的Buffer API仅在v5.10.0+中可用,因此您需要升级才能使用它。
如果您想查看v5.7.1的文档,可以转到here
FWIW新的Buffer API现在也可以在v4.5.0的节点v4.x中使用。

tvokkenx

tvokkenx2#

此错误是由于节点版本不匹配而发生的,因此请在我的机器上安装节点版本,如下所示:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
gblwokeq

gblwokeq3#

如果你能做这些命令,它应该是工作。
第一步:
首先,您可以键入以下命令sudo npm cache clean -f
第2步:现在,您可以键入以下命令sudo npm install -g n
第三步:
现在,您应该输入以下命令sudo n 6.4.0
第四步:
最后,您应该输入此命令以重新启动系统或重新引导
shutdown -h now

vngu2lb8

vngu2lb84#

如果你不想重新启动,你可以这样做:

sudo apt install curl
curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
sudo apt install nodejs
node -v

这里的说明:https://websiteforstudents.com/install-the-latest-node-js-and-nmp-packages-on-ubuntu-16-04-18-04-lts/

yv5phkfx

yv5phkfx5#

不知道什么原因,我的alloc函数少了几个对象。请验证console.log(Buffer)

let Buffer = require('buffer');
   console.log(Buffer)
   data = Buffer.Buffer.alloc(0);
mv1qrgav

mv1qrgav6#

我也遇到过同样的问题。
只要做Buffer.Buffer.alloc(),它就可以正常工作了:)
希望能有所帮助

相关问题