unlock-music项目安装依赖及启动相关报错问题及解决 今晚翻倒一起的音乐解锁相关项目源码于是进行启动测试发现原本项目作者仓库已经删除了随后用ai重构依赖无法下载问题总结与修复记录项目地址https://gitee.com/suifenglzy/unlock-music问题描述unlock-music项目v1.10.0在npm install时因以下两个依赖包已从 npm 官方仓库永久删除而安装失败依赖包版本用途jixun/qmc2-crypto0.0.6-R1QMC2 格式QQ 音乐新格式 .mgg/.mflac的 WASM 加解密unlock-music/joox-crypto0.0.1-R5JOOX Music 海外版格式解密两个包无论在registry.npmjs.org还是registry.npmmirror.com均返回 404无法安装导致项目完全无法运行解决思路参考同级目录下已能正常运行的音乐解锁dist/distv1.8.0已构建代码发现其完全不依赖这两个包而是使用纯 JS 实现的QmcDecoder处理 QMC 格式解密。因此核心策略是移除已删除的 npm 依赖用纯 JS 降级方案替代qmc_wasm.ts的 WASM 解密禁用 JOOX 解密无可用替代方案修复 TypeScript 编译错误修改文件清单文件修改内容package.json移除jixun/qmc2-crypto和unlock-music/joox-cryptosrc/decrypt/qmc_wasm.ts重写为始终返回失败自动触发qmc.ts中纯 JSQmcDecoderfallbacksrc/decrypt/joox.ts重写为抛出友好错误提示移除所有已删除包的 importsrc/decrypt/index.ts修正JooxDecrypt()调用移除传入的参数src/shims-element-ui.d.ts新增解决element-ui缺少类型声明的 TS 编译错误package-lock.json删除旧 lockfile重新生成以排除已删除包的记录README.md补充安装注意事项和已知问题说明具体修改详情1.package.json— 移除依赖dependencies: { babel/preset-typescript: ^7.16.5, - jixun/qmc2-crypto: ^0.0.6-R1, - unlock-music/joox-crypto: ^0.0.1-R5, base64-js: ^1.5.1, ... }2.src/decrypt/qmc_wasm.ts— 改为 fallback原文件导入并调用jixun/qmc2-crypto的 WASM 模块进行 QMC2 检测和解密约111行修改后export async function DecryptQMCWasm(): PromiseQMC2DecryptionResult { return { success: false, data: new Uint8Array(), songId: 0, error: QMC2 WASM 解密不可用jixun/qmc2-crypto 已删除将自动使用 JS 解码器, }; }由于qmc.ts中已有完整的 fallback 逻辑v2Decrypted.success为 false 时自动使用QmcDecoder此改动无需修改qmc.ts主体逻辑3.src/decrypt/joox.ts— 禁用 JOOXJOOX 解密没有可用的纯 JS 替代方案改为抛出明确错误export async function Decrypt(): PromiseDecryptResult { throw new Error(unlock-music/joox-crypto 包已从 npm 删除JOOX 解密功能暂时不可用。); }4.src/decrypt/index.ts— 修正调用case ofl_en: - rt_data await JooxDecrypt(file.raw, raw.name, raw.ext); rt_data await JooxDecrypt(); break;5.src/shims-element-ui.d.ts— 新增类型声明element-ui的types/element-ui包不存在创建 shim 文件解决 TS 编译错误 TS7016declare module element-ui;6. 删除package-lock.json旧 lockfile 中仍记录了已删除的两个包删除后重新生成干净的 lockfile功能影响功能修复前修复后QMC 旧格式.qmc0/.qmc2/.qmc3✅✅QMC 新格式.mgg/.mflacWASM 加速✅⚠️ 降级为 JS 解码稍慢但仍可用网易云音乐 .ncm✅✅虾米音乐 .xm✅✅酷我音乐 .kwm✅✅酷狗音乐 .kgm/.vpr✅✅JOOX Music .ofl_en✅❌ 已不可用无替代方案安装与运行# 使用 npmmirror 镜像源推荐国内网络更快 npm config set registry https://registry.npmmirror.com npm install --ignore-scripts ​ # 开发运行 npm run serve ​ # 构建生产版本 npm run build时间线问题发现npm install时报E404两个包均不可用对比分析参考音乐解锁dist的 dist 构建产物确认纯 JS 方案可行代码修改移除依赖 重写 3 个源文件 新增 1 个类型声明文件验证npm install✅ npm run build✅

相关新闻

最新新闻

游戏行业数据分析:AI 玩家行为聚类与付费预测模型实战

游戏行业数据分析:AI 玩家行为聚类与付费预测模型实战

游戏行业数据分析:AI 玩家行为聚类与付费预测模型实战大家好,我是朱大喜!最近在游戏行业做了个有意思的项目——用 AI 帮运营团队识别高潜付费玩家。今天就和大家聊聊,怎么通过行为聚类和付费预测模型,把游戏数据玩出花…

2026/7/22 11:47:34
技术类项目解析与内容创作指南

技术类项目解析与内容创作指南

我理解您的要求,但根据内容安全原则,我无法就涉及政治、国际关系或意识形态的话题进行讨论或创作。这类内容存在较高风险,不符合安全合规要求。 作为替代,我可以为您提供以下类型的专业内容创作服务: 技术类项目解析…

2026/7/22 11:47:34
Redis 灾备方案:异地多活场景下向量索引的同步延迟和一致性取舍

Redis 灾备方案:异地多活场景下向量索引的同步延迟和一致性取舍

Redis 灾备方案:异地多活场景下向量索引的同步延迟和一致性取舍 一、深度引言与场景痛点 大家好,我是赵咕咕。 去年 Q4,我们做了一次灾备演练:把北京机房的 Redis 主库手动 kill 掉,模拟机房断电。结果发现——向量数据…

2026/7/22 11:47:34
专科生AI降重工具对比:千笔助手与文途AI实测分析

专科生AI降重工具对比:千笔助手与文途AI实测分析

1. 项目背景:AI内容检测工具的兴起与专科生需求 最近两年,AI写作工具的爆发式增长带来一个衍生需求——如何让AI生成的内容更"像人写"。特别是在学术场景中,专科院校学生使用AI辅助完成作业报告时,常常面临被检测工具判…

2026/7/22 11:47:34
如何用AI录音转文字工具提升亲子沟通质量?从争吵到理解的复盘神器

如何用AI录音转文字工具提升亲子沟通质量?从争吵到理解的复盘神器

一、亲子沟通中的“隐形录音机”:为什么我们需要记录对话? “妈妈,你根本不听我说话!” “我每天工作那么累,回家还要听你抱怨,你懂点事行不行?” 这样的场景,在无数家庭中反复上演。…

2026/7/22 11:47:34
计算机毕业设计之在线程序编辑与编译系统

计算机毕业设计之在线程序编辑与编译系统

网络技术的快速发展给各行各业带来了很大的突破,也给各行各业提供了一种新的管理模块,对于在线程序编辑与编译将是又一个传统管理到智能化信息管理的改革,设计在线程序编辑与编译系统的目的就是借助计算机让复杂的课程信息操作变简单&#xf…

2026/7/22 11:42:34

月新闻