Go Binariesis an on-demand binary server, allowing non-Go users to quickly install tools written in Go without installinggo
itself, and removing the burden of cross-compiling and uploading dozens of binaries for every command-line you write.
InstallPKG
with optional semverVERSION
.
curl -sf https://gobinaries /<PKG>[@VERSION] | sh
InstallPKG
with optional semverVERSION
to the given directoryPREFIX
.By default/usr/local/bin
is used.
curl -sf https://gobinaries /<PKG>[@VERSION] | PREFIX=/tmp sh
Thegithub
path prefix is optional.
Install thehey
HTTP benchmarking tool:
curl -sf https://gobinaries /rakyll/hey|sh
Install thewuzz
HTTP client:
curl -sf https://gobinaries /asciimoo/wuzz|sh
Install the latest version ofstaticgen
:
curl -sf https://gobinaries /tj/staticgen/cmd/staticgen | sh
Install the latest1.x
major version ofstaticgen
:
curl -sf https://gobinaries /tj/staticgen/cmd/[email protected] | sh
Install thev1.0.0
version oftriage
:
curl -sf https://gobinaries /tj/triage/cmd/[email protected] | sh
The following semver patterns are supported:
- Exact version:
v1.2.3
,1.2.3
- Wildcards:
v1.x
,v1.2.x
,1.x
,1.2.x
- Wildcards (implicit):
v1
,v1.2
,1.2
- Leading
v
is optional, regardless of the Git tag
Take for example you want to install @rakyll's fantastic HTTP benchmarking toolhey,to install the latest release you would run:
curl -sf https://gobinaries /rakyll/hey|sh
This request fetches the latest tag from GitHub and responds with a shell script which performs a second request, populated with the resolved version and architecture as shown here:
https://gobinaries /binary/github /rakyll/hey?os=darwin&arch=amd64&version=v0.1.3
The response of this request is a Golang binary compiled for the requested os, architecture, and package version. The result is cached in a CDN for subsequent requests.
- The Go package must compile in under 100 seconds (CDN limitation)
- The Go package must have at least one Git tag
What's wrong with go-get?
Using go-get for installation is fine if you're a Go user, however, if you're creating programs which are designed to be used by a wider audience it's unlikely they will have Go installed.Which version of Go is used?
Currently Go 1.13.x via the official golang:1.13 Docker image.This project is sponsored byCTO.ai,making it easy for development teams to create and share workflow automations without leaving the command line.
And myGitHub sponsors: