SDK Manager
SDKMAN 是一个用于管理软件开发工具包的开源工具。对 Java 相关工具如 JDK、Maven 等提供支持
SDKMAN 没有提供 Windows 系统版的安装软件,但可以通过 Windows 下模拟 Linux 命令行环境来实现安装和使用
Cygwin 和 MinGW 是 Windows 下常用的类 Unix 环境工具集,MinGW 更加轻量
Git Bash 中包含了 MinGW,可以在 Git Bash 下尝试安装 SDKMAN
Git Bash 中可能缺少 SDKMAN 需要的 zip 命令,可到 Sourceorge GNUWin (opens new window) 中选择合适版本下载放到 Git 的 mingw64 目录
确保 zip / unzip / curl / tar / gzip 等命令都可用时,在 Git Bash 中执行安装命令
export SDKMAN_DIR="/d/lib/sdkman" # 修改环境变量指定 SDKMAN 安装路径,默认 ~/.sdkman
curl -s "https://get.sdkman.io" | bash
当出现 All Done 字样时,表示安装成功。网络不稳定时可能需要多次重试(可能需要从 GitHub 下载文件)
安装成功后,执行 init 脚本,会自动配置环境变量,可使用 sdk version
测试是否配置成功
source "$SDKMAN_DIR/bin/sdkman-init.sh" # 执行 SDKMAN bin 目录下的 init 脚本
SDKMAN 常用命令
sdk install <SDK名称> <版本号> # 安装特定版本的 SDK 或工具
sdk install <SDK名称> # 安装最新版本的 SDK 或工具
sdk list <SDK名称> # 列出特定 SDK 或工具的所有可用版本
sdk use <SDK名称> <版本号> # 切换使用特定版本的 SDK 或工具
sdk default <SDK名称> <版本号> # 使用默认版本的 SDK 或工具
sdk current <SDK名称> # 列出已安装的 SDK 或工具及其版本
sdk uninstall <SDK名称> <版本号> # 卸载特定版本的 SDK 或工具
sdk selfupdate # 升级 SDKMAN 自身
sdk help # 显示 SDKMAN 的帮助信息
以安装 JDK 为例
sdk install java 21.0.1-amzn # 下载 JDK21
sdk default java 21.0.1-amzn # 设为默认
# 从本地已存在的 JDK 导入 SDKMAN 进行管理
sdk install java 8-openjdk /d/lib/java/JDK8
下载的 SDK 将存放到 SDKMAN 安装路径下的 candidates 目录,可将对应的 current 目录配置到环境变量来使用
如 D:\lib\sdkman\candidates\java\current
Node Version Manager
NVM 是一个用于管理 Node.js 版本的工具。除 Linux、MacOS 平台外,对 Windows 也提供了支持
访问nvm-windows Git 仓库 (opens new window),下载合适的安装包
nvm-noinstall.zip 免安装版本,需要手动做一定配置
nvm-setup.zip 带有安装引导界面的安装包
此处以 nvm-noinstall 版为例
解压到合适路径,如 D 盘 lib 目录下,D:/lib/nvm
修改 settings.txt 文件,在 nvm-noinstall 安装路径下,若没有此文件可手动创建
root: D:\lib\nvm
path: D:\lib\nvm\nodejs
arch: 64
proxy
settings.txt 常见配置项
root 指向 nvm 安装路径
path 指向 nvm 当前使用 node 的路径链接
arch 配置为操作系统版本,如 32 或 64
proxy 用于配置下载使用代理,可不配置
配置环境变量,添加两个变量
NVM_HOME 指向 nvm 安装目录,D:/lib/nvm
NVM_SYMLINK 指向 nvm 当前使用 node 的路径链接,如 D:/lib/nvm/nodejs
将 %NVM_HOME%
、%NVM_SYMLINK%
加入到 PATH 中
打开命令行,执行以下代码测试功能
nvm -v # 查看 nvm 版
nvm list # 查看已安装的版本
nvm list available # 查看可下载的版本
nvm install <版本号> # 安装指定版本
nvm uninstall <版本号> # 卸载指定版本
nvm use <版本号> # 切换到指定报表
Node Registry Manager
NRM 是一个用于管理 Node.js 源(registry)的工具
nrm 是一个 NodeJS 库,可以使用 npm 全局安装
npm install -g nrm
打开命令行,执行以下代码测试功能
nrm ls # 列出已知的 Node.js 源
nrm use taobao # 切换到淘宝 NPM 源
nrm add <源名称> <源URL> # 添加一个自定义 Node.js 源
nrm test taobao # 测试指定源的响应时间
nrm del <源名称> # 删除已知的 Node.js 源
nrm current # 查看当前正在使用的 Node.js 源