扫描、审计并清理占用磁盘空间的 Python 虚拟环境(.venv、conda)、node_modules 及开发构建产物。当用户提及...

安装

概览

envoic 是一款专为开发者设计的环境扫描与清理工具,旨在帮助用户高效识别并安全移除项目中占用磁盘空间的冗余开发产物。它主要聚焦于 Python 虚拟环境(如 .venv、conda)、Node.js 的 node_modules 目录以及各类构建缓存文件。通过自动化扫描机制,envoic 能够快速定位长期未使用或已损坏的环境配置,从而有效释放被浪费的存储空间。该工具特别适用于多语言混合项目场景,支持同时处理 Python 和 JavaScript/TypeScript 生态中的常见问题。其核心设计理念是‘先扫描后清理’,确保用户始终掌握操作主动权。无论是新成员加入团队时的环境健康检查,还是遭遇磁盘空间告警后的紧急清理任务,envoic 都能提供清晰的操作路径和安全保障。

核心功能特点

  1. 自动扫描 Python 虚拟环境和 conda 环境,识别 stale 或 broken 状态
  2. 深度检测 node_modules 及前端构建产物(如 dist、build 目录)
  3. 生成详细的 JSON 报告,按大小排序列出最大体积的冗余文件
  4. 支持 dry-run 模式预览清理计划,避免误删关键文件
  5. 严格遵循安全策略,不删除 lock 文件或项目清单(如 package.json、pyproject.toml)
  6. 提供交互式确认流程,防止非预期数据丢失

适用场景

在日常开发中,随着项目迭代频繁和环境切换增多,.venv 或 node_modules 往往会积累大量不再需要的依赖包和缓存文件,导致本地磁盘空间迅速耗尽。envoic 可在此类场景下快速发挥作用——例如当系统提示 ENOSPC(磁盘空间不足)错误时,运行 `uvx envoic scan . –deep` 即可一次性发现多个体积庞大的陈旧模块,并通过 dry-run 模式展示清理方案。对于团队协作项目,新成员首次接入时可通过 `envoic info .venv` 检查现有环境是否完整可用;若发现异常,工具会建议重建而非手动排查,大幅提升 onboarding 效率。此外,在持续集成(CI)流程中定期执行扫描脚本,也能预防因缓存堆积导致的构建失败问题。envoic 尤其适合管理大型 monorepo 或多语言混合工程,它能统一处理不同技术栈产生的垃圾文件,避免开发者因不熟悉各语言清理规则而遗漏关键操作。