throw new TypeError('“继承”的超级构造函数不能 ' +

Posted

技术标签:

【中文标题】throw new TypeError(\'“继承”的超级构造函数不能 \' +【英文标题】:throw new TypeError('The super constructor to "inherits" must not ' +throw new TypeError('“继承”的超级构造函数不能 ' + 【发布时间】:2018-04-21 03:32:26 【问题描述】:

我正在尝试构建我的 nodejs 应用程序。但我总是收到这个错误。

util.js:988
throw new TypeError('The super constructor to "inherits" must not ' +
^

TypeError: The super constructor to "inherits" must not be null or undefined
at Object.inherits (util.js:988:11)
at Object.<anonymous> (D:\CIDE-Backend\CIDE-BACKEND\node_modules\zetta\node_modules\spdy\lib\spdy\connection.js:86:6)
at Module._compile (module.js:573:30)
at Object.Module._extensions..js (module.js:584:10)
at Module.load (module.js:507:32)
at tryModuleLoad (module.js:470:12)
at Function.Module._load (module.js:462:3)
at Module.require (module.js:517:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (D:\CIDE-Backend\CIDE-BACKEND\node_modules\zetta\node_modules\spdy\lib\spdy.js:20:19)
at Module._compile (module.js:573:30)
at Object.Module._extensions..js (module.js:584:10)
at Module.load (module.js:507:32)
at tryModuleLoad (module.js:470:12)
at Function.Module._load (module.js:462:3)
at Module.require (module.js:517:17)
[nodemon] app crashed - waiting for file changes before starting...

我关注了这个solution,但我仍然遇到同样的错误。

my node version is 8.4.0

my npm version is 5.5.1

你能告诉我如何解决这个错误吗?

【问题讨论】:

spdy 模块(您的依赖项之一)不正常。尝试找出其他依赖项需要什么。最新的 spdy 源甚至没有那个文件。 (见github.com/spdy-http2/node-spdy/tree/master/lib/spdy)也许升级你的部门可以解决这个问题。 还是同样的错误 【参考方案1】:

您的依赖 zetta 包含一个古老版本的 spdy,它与您当前版本的 Node.js 不兼容。目前在zetta's github 上有一个关于此的未解决问题,有一个解决方法:

process.EventEmitter = require('events').EventEmitter
const zetta = require('zetta')

您的里程可能会因该 hack 而有所不同,我自己没有测试过。或者,您可以等待 zetta 团队修复他们的依赖关系或降级您的节点安装。

【讨论】:

以上是关于throw new TypeError('“继承”的超级构造函数不能 ' +的主要内容,如果未能解决你的问题,请参考以下文章

throw new TypeError('app.use() 需要中间件函数') - 表示应用程序错误

node.js 错误 - throw new TypeError('first argument must be a string or Buffer');

运行 gulp 给出“path.js:7 throw new TypeError('Path must be a string. Received ' + inspect(path));”

throw new ERR_INVALID_ARG_TYPE('chunk',['string','Buffer'],chunk);TypeError[ERR_INVALID_ARG_TYPE]:“c

node_modules/express/lib/router/index.js:458 throw new TypeError('Router.use() requires a middleware

Android Studio 查看源码出现throw new RuntimeException("Stub!"); 解决办法