【问题标题】:node_modules/@discordjs/opus/prebuild/node-v83-napi-v3-win32-x64-unknown-unknown/opus.node: invalid ELF headernode_modules/@discordjs/opus/prebuild/node-v83-napi-v3-win32-x64-unknown-unknown/opus.node:无效的 ELF 标头
【发布时间】:2021-04-28 14:54:10
【问题描述】:

所以我正在制作一个 Discord Bot,它将音频从一个语音通道中继到另一个,但我遇到了一个错误。控制台说它找不到 opus.node 文件,因为我在 GitHub 上托管机器人。所以我将node_modules/@discordjs/opus/package.json 中的module_path 值更改为完全路径。然后它说我必须为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 控制台中运行代码(控制台只是一个日志) 如果您有任何问题,请提出。

【问题讨论】:

    标签: node.js github discord.js node-modules opus


    【解决方案1】:

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

    - run: npm install @discordjs/opus
    

    到上面的.yml文件

    - run: node index.js
    

    这样它会为它使用的系统安装模块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-21
      • 2021-05-31
      • 1970-01-01
      • 2018-11-29
      • 2020-09-23
      • 1970-01-01
      • 2011-11-27
      • 2018-02-11
      相关资源
      最近更新 更多