A simple binary version manager. Originally built because I wanted to manage multiple Java versions on the same Linux system for Minecraft servers, and was kind of tedious.
curl -fsSL https://codeberg.org/dxvampi/binman/raw/branch/main/scripts/install/install.sh | bashirm https://codeberg.org/dxvampi/binman/raw/branch/main/scripts/install/install.ps1 | iexNote
Windows since the binary isn't signed, SmartScreen may show a warning the first time you run it. Click "More info" and then "Run anyway".
binman configPrompts for an alias and a path to a binary. You can add more than one at once
binman config <alias> <path>One-line command to configure a new alias
binman listbinman -b <alias> [args...]binman removePrompts for an alias name
binman remove <alias>One-line command for deleting aliases
binman which <alias>Prints the path for the given alias. Useful for scripting, e.g. $(binman which java17).
binman update || binman -U || binman --updateChecks GitHub for a newer release and prompts to install it. BinmanX also checks for updates automatically in the background (at most once every 24 hours) and will prompt you after any command finishes if a new version is found.
Requires Go 1.24 or newer.
git clone https://github.com/dxvampi/binman.git
cd binman
go build -o binmanTo cross-compile for other platforms/architectures, see scripts/build/linuxonly-build-all.sh as a placeholder.
Binman is licensed under the GNU AGPLv3