helm-env Documentation¶
helm-env is a version manager for the helm CLI.
It installs multiple helm versions under a single root directory, generates a helm shim, and selects the correct helm binary at runtime based on your configured version.
Where to go next
- New here? Start with Installation and configuration.
- Looking up a flag or command? See the CLI reference.
- Curious how
list-remote/lateststay fast and offline-friendly? Read the caching strategy.
Guides¶
How version selection works¶
When you run helm ..., the shim selects a version using the following priority:
- Shell version via
HELMENV_VERSION(typically set byhelm-env shellaftereval "$(helm-env init)"). - Local version via a
.helm-versionfile in the current directory or any parent directory. - Global version via
$HELMENV_ROOT/version.
If no version is configured, the shim fails with an actionable error message.
Project layout under HELMENV_ROOT¶
By default, HELMENV_ROOT is set to ~/.helmenv.
flowchart TD
ROOT["$HELMENV_ROOT"]
ROOT --> VERSIONS["versions/"]
ROOT --> SHIMS["shims/"]
ROOT --> VFILE["version<br/><small>global version file</small>"]
VERSIONS --> V1["3.14.0/<br/><small>one directory per installed version</small>"]
V1 --> BIN["helm<br/><small>installed binary</small>"]
SHIMS --> SHIM["helm<br/><small>auto-generated shim</small>"]