A fast, parallel command-line tool to update Go binaries installed via 'go install'.
gup is a command-line utility designed to manage and update Go binaries installed via `go install`. It addresses the common need to keep these tools current, offering a streamlined and efficient alternative to manual updates. The tool is cross-platform, running on Linux, macOS, and Windows.
Go developers who frequently install and manage command-line tools via `go install` and need an efficient way to keep them updated across multiple systems.
Developers choose gup for its parallel updates using goroutines for speed, granular control over specific binaries, and features like export/import configuration for synchronizing tools across machines, which simplifies maintenance compared to manual updates.
gup - Update binaries installed by "go install" with goroutines.
Uses goroutines to update all binaries concurrently, making it significantly faster than manual sequential updates, as highlighted in the README with examples like updating 30 binaries in parallel.
Offers subcommands for update, list, check, and remove with options like --exclude and per-binary targeting, allowing precise management without affecting all tools.
Export/import feature via JSON config files (e.g., gup.json) enables easy synchronization of Go binaries and their versions across multiple development machines, as demonstrated in the README's export/import examples.
Supports per-binary update channels (@latest, @main, @master) with persistence in gup.json, letting users control update sources for specific tools, as shown in the --main, --master options.
Relies on the Go toolchain being installed, as the README states it uses the go command internally, making it unusable in environments without Go or where Go is not desired.
Version 1.0.0 introduced a breaking change by switching from gup.conf to gup.json format, which could disrupt existing setups and require manual migration, as noted in the README's breaking change section.
Only manages binaries installed via go install, excluding tools installed through other package managers or direct downloads, which restricts its utility for mixed tooling environments.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.