Как исправить ошибку TypeError: Buffer.from не является функцией? - PullRequest
0 голосов
/ 25 мая 2020

Проблема

При попытке использовать ipfs-api в моем приложении я получаю сообщение об ошибке:

ERROR TypeError: Buffer.from is not a function
    at varintEncode (vendor.js:185602)
    at Object../node_modules/is-ipfs/node_modules/multicodec/src/varint-table.js
    .....

Мой машинописный файл

var ipfsAPI = require('ipfs-api');
....
ngOnInit() {
   this.ipfsApi = ipfsAPI(this.globals.ipfsIp, '5001');
}

Причина

Файлы, упомянутые в заявлении об ошибке, внутренне используют ' Buffer.from '.

Сведения о версии

Я где-то читал, что это может быть связано с проблемой версии, а API-интерфейс Buffer доступен только в Node v5.10.0 +.

Buffer - 5.6.0 (latest)

Node - 10.17.0 

ipfs-api - 26.1.2

Так что я не Не думаю, что в моем случае проблема с версией.

Что я пробовал

К ошибке выдачи файлов я добавил:

const Buffer = require('buffer').Buffer 

и ошибка переместилась в следующий файл, очевидно, это не решение, а всего лишь пробная версия.

.

Как исправить эту проблему? Любая помощь будет оценена.

1 Ответ

0 голосов
/ 25 мая 2020

Похоже, что Buffer.from добавлен в Buffer v5.10.0 enter image description here.

Попробуйте обновить версию Node.js до v10.20.1. Имеет функцию Buffer.from.

...