Ubuntu环境npm install安装@discord/opus时出现Node-gyp报错
Ubuntu 安装
@discord/opus触发node-gyp报错解决方案 @discord/opus 为带C++原生实现的Node.js扩展,安装阶段需调用本地编译工具链、链接opus音频库开发文件完成构建,缺对应依赖时就会触发node-gyp编译错误,按以下步骤操作即可修复:
- 安装系统层基础编译依赖
执行以下命令安装编译工具链和opus库开发文件:sudo apt update sudo apt install -y build-essential python3 gcc g++ make libopus-dev - 修复Node.js编译环境匹配问题
- 优先使用v18、v20这类LTS长期支持版Node.js,过新的非LTS版本常存在原生模块兼容问题,可通过
node -v查看当前版本,版本不符合时切换到对应LTS版本即可 - 全局安装适配当前Node版本的最新node-gyp:
sudo npm install -g node-gyp@latest - 清理之前安装失败的残留文件:进入项目根目录执行
rm -rf node_modules package-lock.json && npm cache clean --force
- 优先使用v18、v20这类LTS长期支持版Node.js,过新的非LTS版本常存在原生模块兼容问题,可通过
- 重新安装依赖
回到项目根目录执行安装命令即可:npm install @discord/opus
特殊情况处理:如果安装时报EACCES类权限错误,不要直接加sudo执行npm install,否则会因为root用户环境和当前用户环境不一致引发后续更多问题,先修正npm缓存目录和项目目录的所属权限即可:
sudo chown -R $USER:$USER ~/.npm /你的项目本地绝对路径
内容的提问来源于stack exchange,提问作者Từ Thắng Phát
相关产品推荐
相关产品推荐

