微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node_modules/@discordjs/opus/prebuild/node-v83-napi-v3-win32-x64-unknown-unknown/opus.node:无效的ELF标头

如何解决node_modules/@discordjs/opus/prebuild/node-v83-napi-v3-win32-x64-unknown-unknown/opus.node:无效的ELF标头

所以我正在制作一个 discord Bot,它将音频从一个语音通道中继到另一个语音通道,但我遇到了一个错误。控制台说它找不到 opus.node 文件,因为我在 GitHub 上托管机器人。因此,我将 module_path 中的 node_modules/@discordjs/opus/package.json 值更改为完全路径。然后它说我必须为 napi_build_version 添加一个替换字符串,所以我做了。然后它给了我另一个错误,说有一个无效的 ELF 标头,并且它找不到 node-opusopusscript

node_modules/@discordjs/opus/prebuild/node-v83-napi-v3-win32-x64-unkNown-unkNown/opus.node: invalid ELF header
(a few console.log lines not from errors)
Error: Cannot find module 'node-opus'
(some other error lines)
Error: Cannot find module 'opusscript'

以下是我认为错误源自的代码

function record(userid,connection){
    const audio = connection.receiver.createStream(userid,{end: 'manual',type: 'opus'})
    const playlist = connection.play(audio,{ type: 'opus' })
}

我从哪里运行函数

voiceChannel.members.forEach((member) => {
        if (member.id !== client.user.id && !ignore.includes(member.id)){
             record(member.id,connection);
        }
    })

以及变量的值是什么:

const voiceChannel = message.member.voice.channel;
const connection = await voiceChannel.join();

注意:我无法在 GitHub 控制台中运行代码(控制台只是一个日志) 如果您有任何问题,请提问。

解决方法

我通过添加解决了我的问题

- run: npm install @discordjs/opus

到上面的.yml文件

- run: node index.js

通过这种方式,它会为其使用的系统安装模块。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。