Primordials не определен: graceful-fs с узлом v12 - PullRequest
1 голос
/ 03 августа 2020

Я новичок в node js и начал изучать возможность миграции приложения nodejs с узла v8 на узел v12. При этом я сталкиваюсь со следующей ошибкой:

ReferenceError: primordials is not defined
at fs.js:36:5
at req_ (/usr/local/lib/node_modules/tsd/node_modules/natives/index.js:143:24)
at Object.req [as require] 
(/usr/local/lib/node_modules/tsd/node_modules/natives/index.js:55:10)
at Object.<anonymous> (/usr/local/lib/node_modules/tsd/node_modules/graceful-fs/fs.js:1:37)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)
at Function.Module._load (internal/modules/cjs/loader.js:878:14)
at Module.require (internal/modules/cjs/loader.js:1025:19)

Насколько я понимаю, что я прочитал на inte rnet, проблема связана с конфликтом graceful-fs с узлом v12, где они исправил библиотеку fs.

Мы используем grunt-tsd 0.1.0 (последняя выпущенная версия) в нашем проекте.

Когда я проверяю дерево зависимостей узлов, я вижу, что graceful-fs версия в этой зависимости grunt-tsd - 2.0.3. Я подозреваю, что это причина указанной выше ошибки (поскольку старая версия graceful-fs не совместима с node v12). Точная зависимость grunt-tsd от graceful-fs выглядит так:

grunt-tsd@0.1.0 -> tsd@0.5.7 -> update-notifier@0.1.7 -> configstore@0.1.7 -> graceful-fs@2.0.3

Есть ли способ заставить grunt-tsd 0.1.0 использовать последнюю версию graceful-fs? Благодарим за любую помощь в решении этой проблемы.

Примечание: я читал, что есть проблемы с gulp 3 и node v12, но мы не используем gulp в нашем проекте. Кроме того, понижение версии узла до 10 или 11 не вариант для меня.

...