Bini is a binary package manager.
Why?
- Install a binary not provided by your package manager
- Automate download/extract/install workflow
- Benefit from new features & bug fixes as soon as they are released
Features
- Install binaries from GitHub releases in a dedicated
binfolder - Match your OS and architecture
- Update binaries based on release date
Usage: bini [OPTIONS] [NAME] [COMMAND]
Commands:
install Install from GitHub repository [alias: i]
list List installed binaries [alias: l]
update Update all installed binaries [alias: u]
remove Remove installed binary [aliases: r, rm, uninstall, delete]
help Print this message or the help of the given subcommand(s)
Arguments:
[NAME] The name of the package to install
Options:
--as <AS_NAME> Install the binary under a different name
-f, --force Override up-to-date binary
-m, --match <MATCH_STR> Only consider assets whose name matches this string or regex
-h, --help Print help (see more with '--help')
-V, --version Print version
Examples:
bini install bootandy/dust
bini i burntsushi/ripgrep --as rg
bini i ahmetb/kubectx --match kubens --as kns
bini i openfaas/faas-cli --match '^faas-cli$'From source
cargo install --frozen --git https://github.com/lapwat/biniManage bini binary with bini
bini install lapwat/bini
cargo uninstall biniThe install index is stored in:
~/.local/state/bini/index.txton Linux~/Library/Application Support/bini/index.txton macOS
It keeps track of what binaries you have installed, and under what name.
Binaries are stored in:
~/.local/share/bini/bin/on Linux~/Library/Application Support/bini/bin/on macOS
You may add this folder to your $PATH.
For bash
echo'export PATH="$PATH:$HOME/.local/share/bini/bin"'>>~/.bashrc
source~/.bashrcFor zsh
echo'export PATH="$PATH:$HOME/.local/share/bini/bin"'>>~/.zshrc
source~/.zshrcFor mac
echo'export PATH="$PATH:$HOME/Library/Application Support/bini/bin"'>>~/.zshrc
source~/.zshrcA local binary is considered out-of-date if its modification date is older than the date of the latest GitHub release.