Coder Social home page Coder Social logo

stew's Introduction

stew icon

stew

An independent package manager for compiled binaries.

build status go report card Coverage Status pkg.go.dev reference Mentioned in Awesome Go

Features

  • Install binaries from GitHub releases or directly from URLs.
  • 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.
  • Configure where to install binaries.
  • No need for sudo.
  • Just a single binary with 0 dependencies.
  • Portable Stewfile with optional pinned versioning.

demo

Installation

Stew supports macOS, Linux, and Windows.

Install using a package manager

macOS
brew install marwanhawari/tap/stew
Debian/Ubuntu
apt update && apt install -y software-properties-common
add-apt-repository ppa:marwanhawari/stew
apt update && apt install -y stew
Arch
git clone https://aur.archlinux.org/stew.git
cd stew
makepkg -sric

Download a compiled binary

Compiled binaries can be downloaded from the releases page.

Install using Go

Install the latest released version
go install github.com/marwanhawari/stew@latest
Install the latest unreleased source
git clone https://github.com/marwanhawari/stew
cd stew
go install .

Usage

Install

# 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

Search

# Search for a GitHub repo and browse its contents with a terminal UI
stew search ripgrep

Browse

# Browse a specific GitHub repo's releases and assets with a terminal UI
stew browse sharkdp/hyperfine

Upgrade

# Upgrade a binary to its latest version. Not for binaries installed from a URL.
stew upgrade rg           # Upgrade using the name of the binary directly
stew upgrade --all        # Upgrade all binaries

Uninstall

# Uninstall a binary
stew uninstall rg         # Uninstall using the name of the binary directly
stew uninstall --all      # Uninstall all binaries

Rename

# Rename an installed binary using an interactive UI
stew rename rg            # Rename using the name of the binary directly

List

# 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

Config

# Configure the stew file paths using an interactive UI
stew config           # Automatically updates the stew.config.json

FAQ

Why couldn't stew automatically find any binaries for X repo?

The repo probably uses an unconventional naming scheme for their binaries. You can always manually select the release asset.

Will stew work with private GitHub repositories?

Yes, stew will automatically detect if you have a GITHUB_TOKEN environment variable and allow you to access binaries from your private repositories.

Where does stew install binaries?

The default installation path will depend on your OS:

Linux/macOS Windows
~/.local/bin ~/AppData/Local/stew/bin

However, this location can be configured.

Make sure that the installation path is in your PATH environment variable. Otherwise, you won't be able to use any of the binaries installed by stew.

stew's People

Contributors

marwanhawari avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.