Go
mise 可用于在同一系统上安装和管理 go 的多个版本。
以下是使用 go mise 核心插件的说明。当没有安装名为 "go" 的 git 插件时,会使用此插件。若你想使用 asdf-golang,请使用
mise plugins install go GIT_URL。
这部分的代码位于 mise 仓库中的 ./src/plugins/core/go.rs。
用法
以下命令会安装最新版本的 go-1.21.x(如果尚未安装 1.21.x 的某个版本),并将其设为全局默认:
mise use -g [email protected]1.20 及更低的 go 次版本需要在版本号前指定 prefix,因为每个系列的第一个版本发布时没有 .0 后缀,这使得 1.20 会成为精确版本匹配:
mise use -g go@prefix:1.20.go-version 文件支持
mise 使用 mise.toml 或 .tool-versions 文件在不同软件版本之间自动切换。 不过,它也可以读取名为 .go-version 的 Go 特定版本文件。
参见 惯用版本文件
默认包
计划弃用
默认包文件已被弃用。它们目前仍受支持,但 mise 将从 2026.11.0 开始发出警告, 并将在 2027.11.0 移除支持。
对于 Go CLI,请直接使用 go: 后端安装工具:
[tools]
"go:github.com/jesseduffield/lazygit" = "latest"对于确实应该安装到每个 Go 版本中的包,请使用工具级别的 postinstall 钩子:
[tools]
go = { version = "1.25", postinstall = "go install github.com/daixiang0/gci@latest" }mise 可以在安装新的 go 版本后自动安装一组默认包。 要使用此旧版功能,请提供一个 $HOME/.default-go-packages 文件,其中每行列出一个包,例如:
github.com/daixiang0/gci # 允许注释
github.com/jesseduffield/lazygit工具选项
以下 tool-options 适用于 go 后端。 这些选项位于 mise.toml 中的 [tools] 部分。
install_env
为核心 go 后端运行的默认包安装和安装时验证命令设置环境变量:
[tools]
go = { version = "latest", install_env = { GOPRIVATE = "github.com/acme/*" } }设置
go.default_packages_filedeprecated
- Type:
string - Env:
MISE_GO_DEFAULT_PACKAGES_FILE - Default:
~/.default-go-packages - Deprecated: Default go package files are deprecated. Use tool-level postinstall hooks for packages that should be installed into every go version, or use the go: backend for CLI tools.
Path to a file containing default go packages to install when installing go.
go.download_mirror
- Type:
string - Env:
MISE_GO_DOWNLOAD_MIRROR - Default:
https://dl.google.com/go
Mirror to download go sdk tarballs from.
go.repo
- Type:
string - Env:
MISE_GO_REPO - Default:
https://github.com/golang/go
URL to fetch go from.
go.set_gobin
- Type:
boolean(optional) - Env:
MISE_GO_SET_GOBIN - Default:
None
Defaults to ~/.local/share/mise/installs/go/.../bin.
Set to true to override GOBIN if previously set.
Set to false to not set GOBIN (default is ${GOPATH:-$HOME/go}/bin).
go.set_gopathdeprecated
- Type:
boolean - Env:
MISE_GO_SET_GOPATH - Default:
false - Deprecated: mise no longer manages GOPATH. Set GOPATH in [env] if you need a specific value.
[deprecated] Set to true to set GOPATH=~/.local/share/mise/installs/go/.../packages.
go.set_goroot
- Type:
boolean - Env:
MISE_GO_SET_GOROOT - Default:
true
Sets GOROOT=~/.local/share/mise/installs/go/.../.
go.skip_checksum
- Type:
boolean - Env:
MISE_GO_SKIP_CHECKSUM - Default:
false
Set to true to skip checksum verification when downloading go sdk tarballs.