你的系统里装了多少个包?npm、pip、cargo、brew…每个都有自己的命令和列表格式。glazepkg 把它们整合到一个漂亮的 TUI 界面里。

项目概览

属性内容
GitHubneur0map/glazepkg
Stars457
语言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 包管理器
homebrewmacOS/Linux通用包管理器
aptLinuxDebian/Ubuntu 包管理
pacmanLinuxArch 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
  • 并发扫描: 多个包管理器并行检测,速度快
  • 零配置: 自动检测系统上已安装的包管理器
  • 轻量级: 单二进制文件,无额外依赖

适用场景

  1. 系统清理: 快速发现不再需要的全局包
  2. 环境迁移: 导出包清单到新机器
  3. 版本管理: 检查哪些包需要更新
  4. 团队协作: 与团队分享开发环境配置

同类对比

工具特点缺点
glazepkg多管理器统一视图只读,不能安装/卸载
npm listnpm 专用只支持 npm
brew bundlemacOS 专用只支持 homebrew

总结

glazepkg 是一个小而精的开发者工具,解决了一个真实痛点:跨包管理器的可视化和盘点。它不试图取代任何包管理器,而是提供一个统一的信息层。对于使用多语言技术栈的开发者来说,这是一个值得添加到你的工具箱的实用工具。

# 试一下吧
glazepkg