Automic VaultAutomic Vault

brew

Install goenv with Homebrew

Go version management. Version 3.1.4 via Homebrew; verified 2026-06-09.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install goenv

local Homebrew formula metadata

overview

Package summary

Go version management

Commands and aliases

  • goenv

history

Project history and usage

goenv is a Go version manager modeled after pyenv and rbenv. It uses shims, global and per-project version files, and a go-build plugin to let developers install and switch Go toolchains without replacing the system Go.

Project history

The public repository was created in April 2016. The README says goenv aims to follow the successful version-management model of pyenv and rbenv, and that it was cloned from pyenv and modified for Go.

The project began as a shell-oriented version manager with pyenv-style commands and later introduced a v3 line described by the README as a complete rewrite from shell scripts to a Go-based CLI while preserving backward compatibility with v2.

Adoption history

goenv's adoption follows the dotfile and language-version-manager path: developers install it into `~/.goenv`, initialize it in a shell, then use `.go-version` files to pin projects. Homebrew packages it as formula `goenv`, with `goenv@3` as an alias in formula metadata.

Repository metadata showed more than two thousand stars by June 2026. The batch package metadata lists Homebrew packaging, which is the main package-manager path in this input set.

How it is used

Typical setup clones or installs goenv, adds `eval "$(goenv init -)"` to the shell, installs a Go version with `goenv install`, and selects it with `goenv global`, `goenv local`, or `GOENV_VERSION`.

The command reference documents pyenv-style subcommands such as `goenv versions`, `which`, `whence`, `rehash`, `prefix`, `version-origin`, and `version-file`. Local project selection writes `.go-version`, while legacy `.goenv-version` is still read for compatibility.

Why package nerds care

Package nerds care about goenv because it is one of the cleanest examples of a language tool borrowing another ecosystem's version-manager design. The package identity is less about Go code and more about shims, version files, shell integration, plugin layout, and reproducible developer environments.

It also illustrates the maintenance tradeoff of packaging version managers: the tool has to track upstream Go releases, work across shells, preserve old version-file behavior, and avoid fighting system package managers.

Timeline

  • 2016-04: GitHub repository created.
  • 2016-04: v20160417 tag published.
  • 2022: v2 beta changelog entries added support for newer Go releases and `.go-version` behavior.
  • 2026-04: 3.0.0 released as the Go-based CLI line.
  • 2026-06: 3.1.4 released.

Related projects

  • pyenv and rbenv are the explicit design models named by goenv.
  • go-build is the plugin used to install Go versions.
  • gvm and crsmithdev/goenv are named in the README as alternative Go version-management approaches.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
$GOENV_ROOT/version~/.goenv/version.go-version.goenv-version

executables

Installed executables

CommandKindExposureNote
goenvcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-25
manager version3.1.4
manager updated2026-06-09
local dataok
upstreamcurrent
latest detected3.1.4

https://github.com/go-nv/goenv

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:goenv
Version3.1.4
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/goenv
Homepagehttps://github.com/go-nv/goenv
Repositoryhttps://github.com/go-nv/goenv
Upstream docshttps://github.com/go-nv/goenv#readme
LicenseMIT
Source archivehttps://github.com/go-nv/goenv/archive/refs/tags/3.1.4.tar.gz
Last updated2026-06-09T23:47:04Z
Pulseupdated
Build dependenciesgo
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared
CaveatsIf you are upgrading from goenv v2, you may need to remove the stale shim: rm -f "${GOENV_ROOT:-$HOME/.goenv}/shims/goenv"

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namegoenv
Aliases
  • goenv@3
Version Scheme1
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • package relationship graph
  • package version freshness
  • package-page enrichment