glazepkg:457⭐的跨平台包管理器可视化工具
你的系统里装了多少个包?npm、pip、cargo、brew…每个都有自己的命令和列表格式。glazepkg 把它们整合到一个漂亮的 TUI 界面里。
项目概览
| 属性 | 内容 |
|---|---|
| GitHub | neur0map/glazepkg |
| Stars | 457 |
| 语言 | Go |
| 特点 | 跨平台、多包管理器、TUI界面 |
| 最后更新 | 5天前 |
它解决了什么问题
作为开发者,我们经常使用多种语言和工具链:
- JavaScript/Node.js → npm/yarn/pnpm
- Rust → cargo
- Python → pip
- macOS → homebrew
- Linux → apt/pacman
要查看每个包管理器安装了什么,需要记住不同的命令:
npm list -g --depth=0
pip list
cargo install --list
brew list
glazepkg 用一个命令统一了它们:
glazepkg
支持的包管理器
| 包管理器 | 平台 | 描述 |
|---|---|---|
| npm | 跨平台 | Node.js 包管理器 |
| cargo | 跨平台 | Rust 包管理器 |
| pip | 跨平台 | Python 包管理器 |
| homebrew | macOS/Linux | 通用包管理器 |
| apt | Linux | Debian/Ubuntu 包管理 |
| pacman | Linux | Arch Linux 包管理 |
| nix | 跨平台 | 函数式包管理器 |
核心特性
统一视图
所有包按管理器分组显示,一目了然:
┌─ npm (全局) ─────────────┐
│ typescript 5.4.5 │
│ @antfu/ni 0.21.12 │
│ pnpm 8.15.0 │
├─ cargo ──────────────────┤
│ bat 0.24.0 │
│ fd 9.0.0 │
│ ripgrep 14.1.0 │
└──────────────────────────┘
快速搜索
输入 / 进入搜索模式,实时过滤包名:
- 支持模糊匹配
- 跨所有包管理器搜索
- 显示匹配数量
包详情
选中包后按 Enter 查看详情:
- 版本号
- 安装路径
- 依赖关系
- 官网链接
安装
macOS (Homebrew)
brew tap neur0map/glazepkg
brew install glazepkg
Linux
curl -fsSL https://glazepkg.dev/install.sh | sh
Go 安装
go install github.com/neur0map/glazepkg@latest
使用示例
基本使用
# 启动 TUI
glazepkg
# 只看特定包管理器
glazepkg --manager npm,cargo
# 导出为 JSON
glazepkg --json > packages.json
快捷键
| 按键 | 功能 |
|---|---|
↑/↓ | 上下移动 |
Enter | 查看详情 |
/ | 搜索 |
Esc | 返回/退出 |
q | 退出 |
技术亮点
- Bubble Tea: 使用 Charm 生态的 Bubble Tea 框架构建 TUI
- 并发扫描: 多个包管理器并行检测,速度快
- 零配置: 自动检测系统上已安装的包管理器
- 轻量级: 单二进制文件,无额外依赖
适用场景
- 系统清理: 快速发现不再需要的全局包
- 环境迁移: 导出包清单到新机器
- 版本管理: 检查哪些包需要更新
- 团队协作: 与团队分享开发环境配置
同类对比
| 工具 | 特点 | 缺点 |
|---|---|---|
| glazepkg | 多管理器统一视图 | 只读,不能安装/卸载 |
| npm list | npm 专用 | 只支持 npm |
| brew bundle | macOS 专用 | 只支持 homebrew |
总结
glazepkg 是一个小而精的开发者工具,解决了一个真实痛点:跨包管理器的可视化和盘点。它不试图取代任何包管理器,而是提供一个统一的信息层。对于使用多语言技术栈的开发者来说,这是一个值得添加到你的工具箱的实用工具。
# 试一下吧
glazepkg