版本管理工具

使用goenv、pyenv、jenv 版本管理工具,完成在同一台机器上管理多个版本的运行环境,并实现灵活切换。

goenv

goenv 简介

  • 项目地址:https://github.com/syndbg/goenv

  • 功能:

    1. 安装多个 Go 版本;
    2. 切换系统(全局)Go 版本;
    3. 为特定目录(项目)指定特定 Go 版本;
    4. 支持 macOS、Linux(不支持 Windows)。

安装 goenv

  1. 下载goenv
    1
    2
    3
    4
    5
    # Macos
    brew install goenv

    # Linux
    git clone https://github.com/syndbg/goenv.git ~/.goenv
    BASH
  2. 配置环境

    添加以下内容到你的 shell 配置文件(如 .bashrc、.zshrc、.profile 等):

    1
    2
    3
    4
    5
    6
    # goenv
    export GOENV_ROOT="$HOME/.goenv"
    export PATH="$GOENV_ROOT/bin:$PATH"
    if command -v goenv >/dev/null; then
    eval "$(goenv init -)"
    fi
    BASH

使用 goenv

  1. 安装 Go 版本

    1
    2
    goenv install -l  # 查看可用的版本
    goenv install 1.20.10 # 安装指定版本
    BASH

    首次使用 goenv 安装版本时,goenv 会下载源码并编译,所以可能较慢。

  2. 国内网络如果下载不下来

    可以通过阿里云开源镜像下载安装包 https://mirrors.aliyun.com/golang

    1
    2
    3
    mkdir -p ~/.goenv/cache/
    cp go1.20.10.src.tar.gz ~/.goenv/cache/ # 将安装包放入缓存目录,例如版本为1.20.10
    goenv install 1.20.10
    BASH

  3. 设置默认(全局) Go 版本

    1
    goenv global 1.20.10
    BASH
  4. 查看当前使用的 Go 版本

    1
    2

    goenv version
    BASH
  5. 查看所有已安装的 Go 版本

    1
    goenv versions
    BASH
  6. 卸载 Go 版本

    1
    goenv uninstall 1.19.5
    BASH

常用命令

命令 作用
goenv versions 查看当前系统所有可用版本(已安装的)
goenv install –list 查看所有支持安装的版本
goenv install 安装某个版本(需要安装 goenv-install 插件)
goenv uninstall 卸载指定版本
goenv global 设置全局使用版本
goenv local 设置当前目录使用版本(写入 .go-version 文件)
goenv shell 设置当前 shell 会话使用的版本(临时)
goenv rehash 重建 shim 目录(很少需要手动用)
goenv which go 查看当前版本 go 的真实路径
goenv whence go 查看哪个版本中有 go 命令

jenv

jenv 简介

  • 项目地址:https://github.com/jenv/jenv
  • 功能:
    • 安装并管理多个 Java(JDK)版本;
    • 设置系统(全局)默认 JDK 版本;
    • 为特定项目(目录)指定特定 JDK 版本;
    • 支持 macOS 和 Linux(不支持 Windows);
    • 支持与 IDE(如 IntelliJ IDEA)集成。

安装 jenv

  1. 下载 jenv
1
2
3
4
5
# macOS (使用 Homebrew)
brew install jenv

# Linux
git clone https://github.com/jenv/jenv.git ~/.jenv
BASH
  1. 配置环境变量
    将以下内容添加到你的 shell 配置文件(如 .bashrc、.zshrc、.profile 等):
1
2
3
4
5
# jenv 
export PATH="$HOME/.jenv/bin:$PATH"
if command -v jenv >/dev/null; then
eval "$(jenv init -)"
fi
BASH

然后执行以下命令使配置生效:

1
source ~/.bashrc  # 或 source ~/.zshrc
BASH
  1. 可选插件启用
1
2
3
4
# 建议启用这些插件
jenv enable-plugin export
jenv enable-plugin maven
jenv enable-plugin gradle
BASH

添加 JDK 到 jenv 管理

jenv 本身不下载 JDK,只管理你本机已有的 JDK。

你可以使用系统包管理器或官网下载 JDK,然后通过以下方式添加:

1
jenv add /路径/到/jdk
BASH

例如:

1
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_341.jdk/Contents/Home
BASH

使用 jenv

  1. 查看所有已添加的 JDK

    1
    jenv versions
    BASH
  2. 设置全局(系统默认) JDK 版本

    1
    jenv global 17
    BASH
  3. 为当前 shell 会话设置临时 JDK 版本

    1
    jenv shell 11
    BASH
  4. 为当前目录设置特定 JDK 版本

    1
    2
    jenv local 21
    # 会在当前目录生成一个 .java-version 文件
    BASH
  5. 查看当前正在使用的 JDK 版本

    1
    jenv version
    BASH
  6. 查看当前 java 命令对应的真实路径

    1
    jenv which java
    BASH
  7. 重建 jenv shim(很少需要)

    1
    jenv rehash
    BASH

常用命令

命令 作用
jenv versions 查看当前系统所有可用版本(已添加)
jenv add <路径> 将已安装的 JDK 添加到 jenv 中管理
jenv global <版本号> 设置全局使用的 JDK 版本
jenv local <版本号> 设置当前目录使用的 JDK 版本(项目)
jenv shell <版本号> 设置当前 shell 会话使用的 JDK(临时)
jenv version 查看当前使用的 JDK 版本
jenv which java 查看当前 JDK java 命令的真实路径
jenv rehash 重新生成 jenv 的 shim 脚本
jenv enable-plugin <插件名> 启用 jenv 插件(如 maven)

pyenv

pyenv 简介

  • 项目地址:https://github.com/pyenv/pyenv

  • 功能:

    • 安装多个 Python 版本;
    • 切换系统(全局)Python 版本;
    • 为特定目录(项目)指定特定 Python 版本;
    • 支持 macOS、Linux(不支持 Windows,Windows 用户请使用 pyenv-win)。

安装 pyenv

  1. 安装 pyenv
1
2
3
4
5
# macOS(通过 Homebrew)
brew install pyenv

# Linux(通过 git 克隆)
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
BASH
  1. 配置环境变量
    添加以下内容到你的 shell 配置文件(如 .bashrc、.zshrc、.profile 等):
1
2
3
4
5
6
7
# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
fi
BASH
  1. 重启终端或执行 source ~/.bashrc 等,使配置生效。

使用 pyenv

  1. 安装 Python 版本
1
2
pyenv install -l        # 查看可安装的版本列表
pyenv install 3.10.13 # 安装指定版本
BASH

国内网络环境如下载较慢,可考虑使用国内镜像,如清华源:

1
2
export PYTHON_BUILD_MIRROR_URL="https://mirrors.tuna.tsinghua.edu.cn/python"
pyenv install 3.10.13
BASH
  1. 设置默认(全局) Python 版本

    1
    pyenv global 3.10.13
    BASH
  2. 设置当前目录(项目)使用特定版本

    1
    pyenv local 3.10.13  # 会在当前目录生成 `.python-version` 文件
    BASH
  3. 设置当前 shell 会话使用的版本(临时生效)

    1
    pyenv shell 3.10.13
    BASH
  4. 查看当前使用的 Python 版本

    1
    pyenv version
    BASH
  5. 查看所有已安装的 Python 版本

    1
    pyenv versions
    BASH
  6. 卸载 Python 版本

    1
    pyenv uninstall 3.9.13
    BASH

常用命令

命令 作用
pyenv versions 查看已安装的 Python 版本(带 * 表示当前)
pyenv install -l 查看所有可安装的版本列表
pyenv install 安装指定 Python 版本
pyenv uninstall 卸载指定 Python 版本
pyenv global 设置系统全局默认 Python 版本
pyenv local 设置当前目录默认 Python 版本(生成 .python-version
pyenv shell 设置当前 shell 会话使用的版本(临时)
pyenv rehash 重建 shims 目录(一般安装新版本后自动执行)
pyenv which python 显示当前版本 Python 的完整路径
pyenv whence python 显示哪些版本包含该命令(如 python, pip 等)

版本管理工具
https://zhyyao.me/2025/05/26/system/envs/
作者
zhyyao
发布于
2025年5月26日
许可协议