下载提示 mkdir 失败——ENOENT 错误的根因与修复
症状
在洛雪音乐桌面版下载歌曲时,下载任务失败,显示的错误信息类似:
ENOENT: no such file or directory, mkdir 'C:\xxxx\xxx\xxx'
或者提示下载目录不存在 / 无法创建。
根本原因
99% 的情况下,这个错误是下载目录没有读写权限导致的。洛雪音乐在下载歌曲时,需要先在你设置的下载目录中创建子目录或直接写入音频文件。如果目标路径:
- 没有写入权限(系统保护目录)。
- 路径不存在且父目录也无法创建。
- 在网络驱动器上且连接断开。
- 是只读状态。
创建目录(mkdir)操作就会失败。
常见的踩坑路径
以下这些路径绝对不要设为下载目录:
| 路径 | 为什么不行 |
|---|---|
C:\Windows | 系统保护目录,普通用户无写入权限 |
C:\Program Files | 同上 |
C:\Program Files (x86) | 同上 |
C:\Users\<用户名> 根目录 | 能写但不推荐,文件混在用户主目录中 |
网络驱动器盘符(如 Z:\) | 断网就报错,且权限可能受网络共享限制 |
| U 盘 / 移动硬盘(没插上时) | 路径存在但设备断开,无法写入 |
| 只读文件夹 | 比如从只读属性的压缩包解压出来的目录 |
解法步骤
第 1 步:打开下载设置
洛雪音乐 → 设置 → 基本设置 → 找到「下载目录」相关选项。
第 2 步:选择一个安全的路径
推荐路径(按优先级排序):
| 平台 | 推荐路径 |
|---|---|
| Windows | D:\Music\LXMusic 或 E:\LXMusic(非系统盘的普通文件夹) |
| Windows 只有 C 盘 | C:\Users\<用户名>\Downloads\LXMusic 或 C:\Users\<用户名>\Music\LXMusic |
| macOS | ~/Downloads/LXMusic 或 ~/Music/LXMusic |
| Linux | ~/Music/LXMusic 或 ~/Downloads/LXMusic |
关键原则:选择你确定有完整读写权限的位置。非系统盘的普通文件夹最安全。
第 3 步:先在文件管理器中创建好
如果指定的路径还不存在,先用文件管理器手动创建好:
D:\Music\LXMusic
确保父目录 D:\Music 也存在。这样洛雪音乐就不需要递归创建多级目录了。
第 4 步:验证权限
创建好目录后:
- 进入该目录。
- 手动创建一个临时文件(右键 → 新建 → 文本文档)。
- 如果能创建成功,说明权限没问题。
- 如果右键菜单中没有「新建」或创建时提示「拒绝访问」,说明这个目录也不行,换一个位置。
第 5 步:在洛雪音乐中选择正确路径
回到洛雪音乐的下载设置:
- 用「浏览」按钮选择你刚创建好的目录。
- 确认路径显示正确后保存设置。
第 6 步:重新下载一首测试
回到搜索结果,找一首确定能播放的歌,重新点击下载。如果下载成功,问题解决。
为什么不能是相对路径
不要尝试用相对路径(比如 ./downloads)作为下载目录。洛雪音乐对下载目录的要求是绝对路径。相对路径可能因为工作目录变化导致指向错误位置。
如果是网络驱动器
如果你坚持想把歌曲下载到网络共享目录(比如 NAS):
- 确保网络驱动器始终连接。
- 确保网络共享对当前 Windows 用户有读写权限。
- 最好设置为固定驱动器盘符(比如映射到
Z:),不要用 UNC 路径(\\NAS\share)。