如何修复ReferenceError:节点v13.12.0中未定义primordials

时间:2020-04-11 10:00:52

标签: node.js kraken.js

我正在尝试使用http://krakenjs.com/上可用的指南来安装krakenjs。
当我尝试运行 yo kraken 时,出现此错误

fs.js:39
} = primordials;
    ^

ReferenceError: primordials is not defined
    at fs.js:39:5
    at req_ (C:\Users\KIIT\AppData\Roaming\npm\node_modules\generator-kraken\node_modules\natives\index.js:143:24)
    at Object.req [as require] (C:\Users\KIIT\AppData\Roaming\npm\node_modules\generator-kraken\node_modules\natives\index.js:55:10)
    at Object.<anonymous> (C:\Users\KIIT\AppData\Roaming\npm\node_modules\generator-kraken\node_modules\graceful-fs\fs.js:1:37)
    at Module._compile (internal/modules/cjs/loader.js:1147:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1167:10)
    at Module.load (internal/modules/cjs/loader.js:996:32)
    at Function.Module._load (internal/modules/cjs/loader.js:896:14)
    at Module.require (internal/modules/cjs/loader.js:1036:19)
    at require (internal/modules/cjs/helpers.js:72:18)

使用以下版本
节点:13.12.0
吞咽
CLI版本:2.2.0
本地版本:4.0.2

1 个答案:

答案 0 :(得分:0)

generator-kraken模块似乎正在使用natives作为依赖项。 natives模块已经是deprecated,并且在所有版本的节点上的行为都不一致。

您可以使用Node v10运行生成器(yo kraken命令)。 Yomen生成器(yo)仅吐出静态代码。生成代码后,如果需要,您可以返回到节点13。由于kraken本身不依赖于本机,因此在节点13上运行生成的代码不会遇到任何问题。如果尚未使用,则可以使用nvm在节点的版本之间快速切换。

另一个可行的选择是完全跳过“生成器”,并从Kraken home page here上提到的示例存储库开始。您可以克隆其中一个存储库,并使其适应您的使用。或者,将它们用作参考并从头开始创建自己的设置。