使用mediasoup广播示例搭建视频会议应用时遇TypeError错误求解决
解决 mediasoup.Server is not a function 错误
这个错误的核心原因是mediasoup版本不兼容:你运行的示例代码基于mediasoup v3及以下版本编写,而当前安装的是v4+版本——mediasoup v4彻底移除了mediasoup.Server构造函数,改用异步的mediasoup.createServer()方法。
以下是两种解决思路:
方法一:安装示例匹配的旧版mediasoup
- 打开项目根目录下的
package.json文件,找到mediasoup对应的版本号(比如示例可能标注的是"mediasoup": "^3.6.0") - 卸载当前版本:
npm uninstall mediasoup - 安装指定版本:
npm install mediasoup@[示例标注的版本号] - 重新运行项目即可。
方法二:升级代码适配mediasoup v4
如果想使用最新版mediasoup,需要修改服务端核心代码:
- 将原代码中创建Server的同步代码:
替换为异步创建方式:const mediasoup = require('mediasoup'); const server = new mediasoup.Server(mediasoupOptions);const mediasoup = require('mediasoup'); // 必须在async函数中调用 async function setupMediasoup() { const server = await mediasoup.createServer(mediasoupOptions); // 后续的Worker、Router等逻辑也需要适配v4 API } - 注意:v4还调整了Worker、Router、Transport等模块的API逻辑,建议对照官方文档的迁移指南逐一修改。
内容的提问来源于stack exchange,提问作者M. Mohammadi
相关产品推荐
相关产品推荐

