vx 0.4.1

Universal Development Tool Manager
Documentation
# vx remove - 移除工具

移除已安装的工具版本。

## 语法

```bash
vx remove [OPTIONS] <TOOL[@VERSION]>...
```

## 描述

`vx remove` 命令用于移除已安装的工具版本。可以移除特定版本或工具的所有版本。

## 选项

- `--all` - 移除工具的所有版本
- `--force` - 强制移除,忽略依赖检查
- `--dry-run` - 预览移除操作,不实际执行
- `-v, --verbose` - 显示详细输出

## 参数

- `TOOL[@VERSION]` - 要移除的工具和版本
  - `node@18.17.0` - 移除特定版本
  - `node` - 需要配合 `--all` 移除所有版本

## 示例

### 移除特定版本
```bash
# 移除 Node.js 18.17.0
vx remove node@18.17.0

# 移除多个特定版本
vx remove node@18.17.0 uv@0.1.0
```

### 移除所有版本
```bash
# 移除 Node.js 的所有版本
vx remove node --all

# 移除多个工具的所有版本
vx remove node uv go --all
```

### 强制移除
```bash
# 强制移除,忽略虚拟环境依赖
vx remove node@18.17.0 --force

# 强制移除所有版本
vx remove node --all --force
```

### 预览操作
```bash
# 预览将要移除的内容
vx remove node --all --dry-run

# 详细预览
vx remove node --all --dry-run --verbose
```

## 工作流程

1. **解析参数**: 解析工具名称和版本要求
2. **依赖检查**: 检查是否有虚拟环境正在使用该工具
3. **确认操作**: 显示将要移除的内容(除非使用 `--force`4. **执行移除**: 删除工具文件和相关配置
5. **清理缓存**: 清理相关的缓存文件

## 输出示例

```bash
$ vx remove node@18.17.0
检查依赖关系...

将要移除:
  node@18.17.0 (安装在 ~/.vx/tools/node/18.17.0/)

警告: 以下虚拟环境正在使用此工具:
  - myproject

确认移除? [y/N]: y
正在移除 node@18.17.0...
移除完成。
```

## 依赖检查

移除工具前,vx 会检查:

1. **虚拟环境依赖**: 是否有虚拟环境正在使用该工具
2. **项目配置**: 是否有项目配置文件引用该版本
3. **全局默认**: 是否设置为全局默认版本

## 安全措施

1. **依赖警告**: 移除前会显示依赖该工具的虚拟环境
2. **确认提示**: 默认需要用户确认(除非使用 `--force`3. **备份建议**: 重要工具建议在移除前确认不再需要

## 注意事项

1. **不可恢复**: 移除操作不可恢复,请谨慎操作
2. **虚拟环境影响**: 移除工具可能影响依赖它的虚拟环境
3. **全局工具**: 使用 [`vx global remove`]./global.md 管理全局工具
4. **磁盘空间**: 移除工具会释放磁盘空间

## 相关命令

- [`vx install`]./install.md - 安装工具
- [`vx list`]./list.md - 列出已安装的工具
- [`vx global remove`]./global.md - 移除全局工具
- [`vx cleanup`]./cleanup.md - 清理孤立文件