hololive滚滚山免安装绿色中文版
995M · 2025-10-31
这个警告:
warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
If the cache and target directories are on different filesystems, hardlinking may not be supported.
是使用 uv(或某些 Python 包管理工具)时常见的提示。我们来深入浅出地讲明白它是什么、为什么出现、以及如何彻底避免。
当你用 uv 安装包时,它的理想流程是:
下载包 → 存到缓存(如 D:cache)
         ↓
安装到虚拟环境(如 C:myproject.venv)
         → 用“硬链接”从缓存复制文件(快 + 不占空间)
但如果 缓存目录和虚拟环境在不同的磁盘分区(比如 D: 和 C:),操作系统不允许跨盘创建硬链接!
于是 uv 只能退而求其次:
所以它提醒你:
D:python-cache(D 盘)C:Usersmeproject.venv(C 盘)→ ❌ 跨盘,无法硬链接C:python-cache(C 盘)C:Usersmeproject.venv(C 盘)→ ✅ 同盘,支持硬链接# 设置 UV_CACHE_DIR 到 C 盘(或其他和项目同盘的路径)
set UV_CACHE_DIR=C:python-cache
# 或永久设置环境变量
如果你的 D 盘大,就把所有 Python 项目放 D 盘:
D:python-cache          ← uv 缓存
D:projectsmyapp.venv   ← 虚拟环境(同盘!)
这样 uv 就能正常使用硬链接,无警告、高性能、省空间。
如果你必须跨盘,可以用 符号链接 把缓存“映射”到项目盘。
D:cache 映射到 C:uv-cache# 以管理员身份运行 CMD
mklink /J C:uv-cache D:python-cache
然后设置:
set UV_CACHE_DIR=C:uv-cache
这样 uv 认为缓存在 C: 盘,实际指向 D: 盘,同盘硬链接成功!
如果你不在乎性能和空间,可以忽略这个警告。
但你会:
运行安装命令后,如果没有出现 hardlink 警告,并且速度很快,说明:
✅ 硬链接成功
✅ 缓存和项目在同一个磁盘分区
你也可以用工具检查文件是否是硬链接(如 fsutil hardlink list 文件路径),但一般不需要。
| 建议 | 说明 | 
|---|---|
| ✅ 缓存和项目放同一磁盘 | 最简单有效的方法 | 
| ✅ 优先使用大容量系统盘(C 盘) | 避免跨盘问题 | 
| ✅ 或把所有项目移到大容量盘(如 D:) | 统一管理 | 
| ✅ 设置 UV_CACHE_DIR到项目所在盘 | 确保同盘 | 
| ❌ 避免缓存和项目跨盘 | 否则无法硬链接 | 
# 1. 设置缓存到 C 盘(或项目盘)
$env:UV_CACHE_DIR = "C:python-cache"
# 或永久设置环境变量
# 2. 创建项目(也在 C 盘)
cd C:projectsmyapp
uv venv .venv
# 3. 安装包(无警告,使用硬链接)
uv pip install requests flask
✅ 解决办法:把 UV_CACHE_DIR 和你的项目放在同一个磁盘(如都放 C: 或都放 D:)
这样 uv 就能:
 
                     
                            995M · 2025-10-31
 
                            90.9M · 2025-10-31
 
                            478M · 2025-10-31
