发布时间:2026/7/19 18:42:30
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✅

相关新闻

2026/7/19 18:42:30

2026年AI写小说工具横评实测:5款主流方案哪款适合你?

2026年AI写小说工具市场已分化为三个路线——窗口扩容、提示词工程、记忆系统。本文从长篇连贯性、伏笔管理、角色一致性、适合人群、性价比五个维度,实测横评蛙趣拼文、Sudowrite、Kimi、ChatGPT、笔灵AI五款工具,帮助不同需求的作者找到适合自己的方案…

2026/7/20 0:18:52

互联网大厂常见Java面试题及答案汇总(2026持续更新)

金九银十即将来袭,又是一个跳槽的好季节,准备跳槽的同学都摩拳擦掌准备大面好几场,今天为大家准备了互联网面试必备的 1 到 5 年 Java 面试者都需要掌握的面试题,分别 JVM,并发编程,MySQL,Tomca…

2026/7/20 0:13:52

python数据可视化技巧的100个练习 -- 31. 类别数据的点图

重要性★★★☆☆ 难度★★☆☆☆ 你是一家零售公司的数据分析师。你的经理要求你可视化最近产品发布的客户满意度评级分布。评级是分类的,范围从“非常不满意”到“非常满意”。创建一个点图以显示每个评级类别的频率。使用 Python 进行数据处理和可视化。在代码中生成输入…

2026/7/20 0:13:52

智能体走进物理世界,千里科技携舱驾协同成果亮相WAIC 2026

在2026世界人工智能大会(WAIC 2026)举办期间,千里科技董事长、阶跃星辰董事长印奇作为特邀嘉宾出席大会开幕式并在大会主论坛(上午场)发表主题演讲《当智能体进入物理世界》。在印奇看来,"智能体"…

2026/7/20 0:13:52

ngx_output_chain_get_buf

1 定义 ngx_output_chain_get_buf 函数 定义在 src/core/ngx_output_chain.cstatic ngx_int_t ngx_output_chain_get_buf(ngx_output_chain_ctx_t *ctx, off_t bsize) {size_t size;ngx_buf_t *b, *in;ngx_uint_t recycled;in ctx->in->buf;size ctx->buf…

2026/7/19 0:00:15

Unity与Python本地通信:基于Flask的跨语言数据交换实战

1. 项目概述:为什么我们需要一个本地通信服务器?在游戏开发、数字孪生、仿真训练等众多领域,Unity作为强大的实时3D内容创作平台,其核心逻辑通常由C#驱动。然而,当我们需要进行复杂的数据分析、机器学习推理、科学计算…

2026/7/20 0:03:51

基于大数据爬虫+Hadoop+Spark的茶叶销售数据分析与可视化系统开题报告

一、课题研究背景与意义 茶叶作为我国特色农产品与核心经济作物,线上电商销售规模持续逐年扩增,各大电商平台、社交交易渠道积累了海量茶叶商品数据、交易订单数据、用户消费行为与评价数据。传统茶叶销售行业多采用小型数据库存储数据、人工统计分析的运…

2026/7/20 0:03:51

STM32H7 QSPI Flash下载算法制作指南

1. STM32H7 QSPI Flash下载算法制作概述在STM32H7系列微控制器的开发过程中,外部QSPI Flash存储器常被用于扩展存储空间。然而,MDK开发环境默认并不支持所有型号的QSPI Flash编程,这就需要我们自行制作下载算法。本文将详细介绍如何为STM32H7…

2026/7/20 0:03:51

深入解析TI PRU-ICSS:硬实时子系统架构与工业应用实践

1. 项目概述:深入理解PRU-ICSS的架构价值在嵌入式系统,尤其是工业自动化、电机驱动和实时网络通信领域,我们常常会遇到一个核心矛盾:主处理器(如Arm Cortex-A系列)需要处理复杂的操作系统、网络协议栈和用户…

2026/7/19 16:59:11

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…