如何修复 npm ERR! peer dep 缺失:discord.js@11.5.1 需要的 node-opus@^0.2.7?
Posted
技术标签:
【中文标题】如何修复 npm ERR! peer dep 缺失:discord.js@11.5.1 需要的 node-opus@^0.2.7?【英文标题】:How to fix npm ERR! peer dep missing: node-opus@^0.2.7, required by discord.js@11.5.1? 【发布时间】:2019-10-29 08:10:43 【问题描述】:我已经为 heroku 部署了一个不和谐的音乐机器人,除了在语音频道中播放音乐外,一切正常,尽管当我在电脑上运行我的代码时 - 一切正常。键入 npm 列表,我看到错误消息“npm ERR!peer dep missing: node-opus@^0.2.7, required by discord.js@11.5.1”。 node-opus 的问题和显然 bot 因此无法播放音乐。当然,我已经使用 npm init 将这个库和其他库放入 package.json 中。我从 package.json 文件中粘贴了一段代码。
我尝试使用 npm、yarn、npm 和带有 package.json 的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"
【问题讨论】:
【参考方案1】:我会删除node_modules
文件夹,在安装discord.js 后运行npm i -g install-peerdeps
,然后如果没有其他对等依赖项与它有关,则在您的项目文件夹中运行install-peerdeps discord.js@11.5.1
。如果他们这样做,您可以随时 npm rm <module>
离开。
【讨论】:
【参考方案2】:引自Discord.js docs...
忽略任何关于未满足对等依赖关系的警告,因为它们都是可选的。
因此,除非在您尝试使用 node-opus
时控制台中出现消息,否则不要担心警告。
由于您的问题与语音支持有关,因此请采取这些步骤以寻求解决方案。
确保 FFmpeg 已安装并在您的 Heroku 环境中运行:请参阅 this buildpack。 虽然您已安装node-opus
,但请尝试使用 Discord.js 想要的特定版本:npm i node-opus@^0.2.7
。
如果node-opus
根本不起作用,请尝试opusscript
(尽管node-opus
是首选)。
【讨论】:
我已经尝试过这样做,但在将音乐播放到语音频道时仍然存在问题。我已经安装了opusscript
,删除了node-opus
,并通过您的链接安装了ffmpeg
库。看起来问题不在于opus
。至少我在npm list
中不再有错误。任何想法如何解决这个问题?可能是我安装了 ffmpeg
不知何故不正确?
当流媒体不起作用时,您的控制台中是否有错误?
不,没有。但是当机器人在构建日志中部署到 heroku 时,我看到了NPM_CONFIG_LOGLEVEL=error
。可能是这个问题?以上是关于如何修复 npm ERR! peer dep 缺失:discord.js@11.5.1 需要的 node-opus@^0.2.7?的主要内容,如果未能解决你的问题,请参考以下文章
npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree
vue运行之神奇的npm install --legacy-peer-deps
vue运行之神奇的npm install --legacy-peer-deps
npm install xxxx --legacy-peer-deps命令是什么?
ERROR command failed npm install --loglevel error --legacy-peer-deps 解决办法