# 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) - 清理孤立文件