如何修复 npm 错误!缺少对等 dep:node-opus@^0.2.7,由 Discord.js@11.5.1 要求



我已经将一个不和谐的音乐机器人部署到 heroku,除了在语音频道中播放音乐外,一切都可以正常工作,尽管当我在 PC 上运行我的代码时 - 一切都有效。键入 npm 列表时,我看到了错误消息"npm ERR!缺少对等 dep:node-opus@^0.2.7,由 Discord.js@11.5.1" 要求。节点作品的问题,显然机器人因此无法播放音乐。当然,我已经使用 npm init 将这个和其他库放入 package.json 中。我从package.json文件中粘贴了一段代码。

我尝试使用 package.json 使用 npm、yarn、npm 和 yarn 安装所有这些库。

{
  "dependencies": {
    "discord.js": "^11.5.1",
    "ffmpeg-binaries": "^4.0.0",
    "google-tts-api": "0.0.4",
    "heroku": "^7.25.0",
    "node-gyp": "^5.0.0",
    "node-opus": "^0.3.2",
    "simple-youtube-api": "^5.2.0",
    "sqlite3": "^4.0.9",
    "uws": "^10.148.1",
    "ytdl-core": "^0.29.2"
  },
  "scripts": {
    "start": "node bot",
    "test": "echo "Error: no test specified" && exit 1"
  }
}

我会删除node_modules文件夹,在安装 discord 后运行npm i -g install-peerdeps.js然后在您的项目文件夹中运行 install-peerdeps discord.js@11.5.1 如果没有其他对等依赖项搞砸它。如果他们这样做,您可以随时npm rm <module>离开。

引自 Discord.js docs...

忽略有关未满足的对等依赖项的任何警告,因为它们都是可选的。

因此,除非您尝试使用node-opus时控制台中出现该消息,否则不必担心警告。

由于您的问题与语音支持有关,请按照以下步骤尝试达成解决方案。

  • 确保 FFmpeg 已安装并在您的 Heroku 环境中工作:请参阅此构建包。
  • 尽管已安装node-opus,但请尝试 Discord.js 想要的特定版本: npm i node-opus@^0.2.7 .
  • 如果node-opus根本不起作用,请尝试opusscript(尽管node-opus是推定的(。

相关内容

最新更新