stew
An independent package manager for compiled binaries.
Features
- Easily distribute binaries across teams and private repositories.
- Get the latest releases ahead of other package managers.
- Rapidly browse, install, and experiment with different projects.
- Install binaries from GitHub releases or directly from URLs
- Isolated
~/.stew/
directory. - No need for
sudo
. - Portable
Stewfile
with optional pinned versioning.
Installation
Stew supports Linux, macOS, and Windows:
curl -fsSL https://raw.githubusercontent.com/marwanhawari/stew/main/install.sh | sh
Usage
# Install from GitHub releases
stew install junegunn/fzf # Install the latest release
stew install junegunn/[email protected] # Install a specific, tagged version
stew install junefunn/fzf sharkdp/fd # Install multiple binaries in a single command
# Install directly from a URL
stew install https://github.com/cli/cli/releases/download/v2.4.0/gh_2.4.0_macOS_amd64.tar.gz
# Install from an Stewfile
stew install Stewfile
# Browse github releases and assets with a terminal UI
stew browse sharkdp/hyperfine
# Upgrade a binary to its latest version (only for binaries from GitHub releases)
stew upgrade rg # Upgrade using the name of the binary directly
stew upgrade --all # Upgrade all binaries
# Uninstall a binary
stew uninstall rg # Uninstall using the name of the binary directly
stew uninstall --all # Uninstall all binaries
# List installed binaries
stew list # Print to console
stew list > Stewfile # Create an Stewfile without pinned tags
stew list --tags > Stewfile # Pin tags
stew list --tags --assets > Stewfile # Pin tags and assets
FAQ
stew
automatically find any binaries for X repo?
Why couldn't The repo probably uses an unconventional naming scheme for their binaries. You can always manually select the release asset.
stew
but the command is still not found.
I've installed The stew
install script attempts to add ~/.stew/bin
to PATH
in your .zshrc
or .bashrc
file. You will also need to start a new terminal session for the changes to take effect. Make sure that ~/.stew/bin
is in your PATH
environment variable.
stew
work with private GitHub repositories?
Will Yes, stew
will automatically detect if you have a GITHUB_TOKEN
environment variable and allow you to access binaries from your private repositories.
stew
?
How do I uninstall Simply run rm -rf $HOME/.stew/
and optionally remove this line
export PATH="$HOME/.stew/bin:$PATH"
from your .zshrc
or .bashrc
file.