Back to Mise

Go Backend

docs/dev-tools/backends/go.md

2026.7.22.0 KB
Original Source

Go Backend

You may install packages directly via go install even if there isn't an asdf plugin for it.

The code for this is inside of the mise repository at ./src/backend/go.rs.

Dependencies

This relies on having go installed. Which you can install via mise:

sh
mise use -g go

::: tip Any method of installing go is fine if you want to install go some other way. mise will use whatever go is on PATH. :::

Usage

The following installs the latest version of hivemind and sets it as the active version on PATH:

sh
$ mise use -g go:github.com/DarthSim/hivemind
$ hivemind --help
Hivemind version 1.1.0

You can also pin a specific Go module version, including an unreleased pseudo-version:

toml
[tools]
"go:github.com/grafana/oats" = "v0.7.1-0.20260703092802-96201f1b8136"

If you need to resolve an unreleased revision directly from VCS instead of the module proxy, combine the pinned version with install_env:

toml
[tools]
"go:github.com/grafana/oats" = { version = "v0.7.1-0.20260703092802-96201f1b8136", install_env = { GOPROXY = "direct", GONOSUMDB = "github.com/grafana/oats" } }

Tool Options

The following tool-options are available for the go backend—these go in [tools] in mise.toml.

install_env

Set environment variables for the go install command. mise still sets GOBIN to the tool install directory after applying install_env.

toml
[tools]
"go:github.com/DarthSim/hivemind" = { version = "latest", install_env = { GOPRIVATE = "github.com/acme/*" } }

tags

Specify go build tags (passed as go install -tags):

toml
[tools]
"go:github.com/golang-migrate/migrate/v4/cmd/migrate" = { version = "latest", tags = "postgres" }
# equivalent array form:
# "go:github.com/golang-migrate/migrate/v4/cmd/migrate" = { version = "latest", tags = ["postgres", "mysql"] }