English | 简体中文
bin package manager (BPM) 是一个基于 Github release 的包管理器,它允许用户安装并管理任意 Github release 上的二进制文件。
BPM 支持 Windows 与 Linux 系统,python 版本 >= 3.9。
Caution
风险提示:注意 BPM Linux 潜在的破坏计算机风险。使用 BPM 安装软件即代表您已接受此风险,并信任第三方 Github release 的打包者。
Tip
BPM 保证对偶性,即 bpm install
后立即接 bpm uninstall
不会对系统作出任何改变。
非滚动 Linux 发行版中,官方源的软件版本常常过低,无法满足我的需求。
而滚动发行版,例如 Archlinux,也无法以 root 从 AUR 安装软件。
Windows 下的常见包管理方式是 scoop,但是其需要打包者维护一个 manifest 列表。
BPM 需要安装到 root 用户下。
sudo pip install bin-package-manager --break-system-packages -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo bpm
注意潜在的破坏系统包的风险。
pip install bin-package-manager
bpm
您可以使用 pipx 安装 BPM。
sudo pipx install bin-package-manager
pipx 仅会为当前用户安装,而 bpm 本身需要以 root 运行,因此需要使用 sudo pipx
。或者,您可以跟踪此 issue 并使用其中提到的方法。
如果您不希望使用 pipx,也可以克隆并使用源码。请确保 uv 已安装,这是一个 python 的包管理器。
git clone https://github.com/lxl66566/bpm.git
cd bpm
uv run python -m bpm
- 安装:
bpm i <package>
- 执行
bpm -h
和bpm i -h
查看更多帮助。
BPM 自动判断 asset 中的文件结构,并安装到系统中的相应位置。目前的安装内容是:
- 安装 binary
- 合并
lib
,include
,share
,man
,bin
目录到系统 - 安装 completions
- 安装 services(基于 systemd 的系统)
BPM 会自动为已存在的文件添加 .old
后缀,以避免覆盖。卸载时,.old
文件将被恢复。
BPM 下载文件夹到 %userprofile%/bpm/app/<name>
中,并为可执行文件创建快捷方式与 cmd 到 %userprofile%/bpm/bin
,这个位置会被添加到 %path%
中。
v2.2.9 之后支持下载并安装单个 .exe
或 .msi
。
git clone https://github.com/lxl66566/bpm.git
cd bpm
poetry install # 安装依赖
poetry run python -m unittest bpm/**/*.py # 运行测试
- no pre release
- try install
- windows support
- offline install
- install from github link
- update from local
- exe and msi support