我是Node JS的新手,已经开始研究将Node.js应用程序从节点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)
据我对在互联网上阅读的内容的了解,问题是由于优美的-fs与节点v12冲突,他们在节点v12上修补了fs库。
我们在项目中使用的是grunt-tsd 0.1.0(最新发布的版本)。
当我检查节点依赖关系树时,我发现在grunt-tsd依赖关系下的graceful-fs版本是2.0.3。我怀疑这是导致上述错误的原因(因为graceful-fs的旧版本与节点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和节点v12的问题,但是我们没有在项目中使用gulp。另外,将节点版本降级到10或11也不是我的选择。