Files
ai-shell/配置修复总结.md
zackeryyy wang 644071850a Initial commit: AI Shell v0.1.0
- AI-powered shell command generator using DeepSeek V3
- Support for natural language to shell command conversion
- Secure configuration management with .env files
- Package structure with uv tool installation support
- Chinese and English language support
- Configuration validation and error handling
2025-07-12 22:06:15 +08:00

158 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 配置修复总结
## 🐛 问题描述
每次运行 `uv sync` 时,都会在项目目录中创建一个名为 `~` 的文件夹。
## 🔍 问题原因
`uv.toml` 配置文件中,`cache-dir = "~/.cache/uv"``~` 符号没有被正确展开uv 将其当作字面量处理,导致在当前目录创建了名为 `~` 的文件夹。
## ✅ 解决方案
### 1. 修复项目配置文件
**修改前** (`uv.toml`)
```toml
# 缓存目录
cache-dir = "~/.cache/uv"
```
**修改后** (`uv.toml`)
```toml
# 缓存目录(移除此配置,使用 uv 默认缓存位置)
# cache-dir = "~/.cache/uv"
```
### 2. 清理重复配置
**问题**`pyproject.toml``uv.toml` 中有重复的 uv 配置,导致警告信息。
**解决**:删除 `pyproject.toml` 中的 `[tool.uv]` 配置段,只保留 `uv.toml` 中的配置。
**修改前** (`pyproject.toml`)
```toml
[tool.uv]
# 使用国内镜像源加速下载
index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"
extra-index-url = [
"https://mirrors.aliyun.com/pypi/simple/",
"https://mirrors.cloud.tencent.com/pypi/simple/",
]
index-strategy = "unsafe-best-match"
concurrent-downloads = 10
cache-dir = "~/.cache/uv"
```
**修改后** (`pyproject.toml`)
```toml
# UV 配置已移至 uv.toml 文件
```
### 3. 完善全局配置
创建正确的全局 uv 配置文件 `~/.config/uv/uv.toml`
```toml
# UV 全局配置文件
# 配置国内镜像源加速下载
# PyPI 镜像源配置
index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"
extra-index-url = [
"https://mirrors.aliyun.com/pypi/simple/",
"https://mirrors.cloud.tencent.com/pypi/simple/",
]
# 性能优化配置
index-strategy = "unsafe-best-match"
concurrent-downloads = 10
# 注意:不要设置 cache-dir让 uv 使用默认位置
```
## 🧹 清理操作
1. **删除错误创建的目录**
```bash
rm -rf ./~
```
2. **验证修复效果**
```bash
uv sync
ls -la | grep "~" # 应该没有输出
```
## 📋 最佳实践
### 1. uv 缓存配置
- ✅ **推荐**:不设置 `cache-dir`,让 uv 使用默认位置
- ❌ **避免**:使用 `~` 符号,因为可能不被正确展开
- ✅ **替代**:如果必须自定义,使用绝对路径
### 2. 配置文件优先级
- `uv.toml` > `pyproject.toml` 中的 `[tool.uv]`
- 避免在两个文件中重复配置相同选项
### 3. 全局 vs 项目配置
- **全局配置** (`~/.config/uv/uv.toml`):适用于所有项目的通用设置
- **项目配置** (`项目目录/uv.toml`):特定项目的配置,会覆盖全局配置
## 🔧 当前配置状态
### 项目配置 (`uv.toml`)
```toml
# uv 项目配置文件
# 配置国内镜像源加速下载
# 主要的 PyPI 镜像源
index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"
# 额外的镜像源
extra-index-url = [
"https://mirrors.aliyun.com/pypi/simple/",
"https://mirrors.cloud.tencent.com/pypi/simple/",
]
# 索引策略 - 允许从所有索引中选择最佳版本
index-strategy = "unsafe-best-match"
# 缓存目录(移除此配置,使用 uv 默认缓存位置)
# cache-dir = "~/.cache/uv"
# 并发下载数
concurrent-downloads = 10
```
### 全局配置 (`~/.config/uv/uv.toml`)
```toml
# UV 全局配置文件
# 配置国内镜像源加速下载
# PyPI 镜像源配置
index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"
extra-index-url = [
"https://mirrors.aliyun.com/pypi/simple/",
"https://mirrors.cloud.tencent.com/pypi/simple/",
]
# 性能优化配置
index-strategy = "unsafe-best-match"
concurrent-downloads = 10
# 注意:不要设置 cache-dir让 uv 使用默认位置
```
## ✅ 验证结果
修复后运行 `uv sync`
- ✅ 不再创建 `~` 目录
- ✅ 没有重复配置警告
- ✅ 国内镜像源正常工作
- ✅ 依赖同步正常
---
💡 **总结**问题已完全解决uv 配置现在更加清晰和规范。