【开发常用】软件安装利器
# 软件安装利器
# SDKMAN-简介
SDKMAN是一个多语言SDK管理工具,支持Java、Groovy、Scala等,还有Maven、Gradle这些工具。它允许用户在同一系统上安装和管理多个版本的SDK,并且可以方便地切换版本。
https://sdkman.io/
SDKMAN! 支持的工具包括但不限于:
- 编程语言:Java、Kotlin、Scala、Groovy、Ceylon。
- 构建工具:Maven、Gradle、SBT。
- 框架与工具:Spring Boot CLI、Vert.x、Node.js(通过插件支持)。
- 其他:Docker、Helm、Kubernetes CLI等。
更多信息请查看官网。
# 安装SDK
安装环境要求
- 操作系统:支持 Linux、macOS、Windows(通过WSL或Git Bash)。
- 依赖:需安装
curl
、zip
、unzip
等工具。
下面就用在linux系统中来演示:
curl -s "https://get.sdkman.io" | bash
安装完成后,执行以下命令初始化环境:
source "$HOME/.sdkman/bin/sdkman-init.sh"
或者打开一个新的会话窗口,也会生效。
- 查看是否安装成功运行
sdk version
如果一切正常或者说安装成功,你应该看到 SDKMAN! 的版本信息。
# 更新SDK
sdk update
# 使用SDK-安装软件
查看JDK,同时可以列出已经安装的JDK:
# 查看JDK版本
sdk list java
这里会列出很多Java版本,不同厂商的,不同版本的,大家根据自己需要自行选择安装。
# 安装Java
sdk install java 8.0.422-zulu
sdk default java 8.0.422-zulu # 设为默认
sdk install java 17.0.12-zulu
sdk use java 17.0.12-zulu # 临时切换
2
3
4
5
6
提示:
在linux系统或者mac系统中,切换版本时,使用tab键,可以快速补齐,或者列出可选择的JDK版本。
# 卸载JDK
卸载指定版本Java:
sdk uninstall java 21.0.2-open
验证版本:
java -version
# 查看maven
sdk list maven
# 安装maven
sdk install maven <version>
# 切换maven版本
sdk use maven <version>
# Maven 版本与 Java 兼容性对照表
Maven 版本 | 最低 Java 要求 |
---|---|
Maven 3.9.x | Java 11+ |
Maven 3.8.x | Java 11+ |
Maven 3.6.x | Java 8+ |
Maven 3.5.x | Java 7+ |
# 安装软件的目录
SDKMAN 默认将所有工具安装在用户主目录的 .sdkman
目录下:
ls ~/.sdkman/candidates
当然你也可以使用,linux系统中的which指令来查看
which mvn
which java
2
3
最后请记住:
- Java 的安装路径在
~/.sdkman/candidates/java/
下的版本文件夹。 - Maven 的安装路径在
~/.sdkman/candidates/maven/
下的版本文件夹。
# NVM-简介
NVM(Node Version Manager) 是一个用于管理 Node.js 多版本的命令行工具,允许开发者在同一台机器上安装、切换和卸载不同版本的 Node.js,解决项目间版本冲突的问题。
这对于需要在开发过程中使用多个版本的 Node.js 来进行项目开发或者测试的人来说非常有用。通过 NVM,可以避免手动卸载和重新安装 Node.js 版本的麻烦。
它支持
以下是它的
下载地址-github-linux版本 (opens new window):
https://github.com/nvm-sh/nvm/releases
# 支持的平台
NVM 主要有两个主要的分支,分别支持不同的操作系统:
- NVM for Linux/macOS:这是原始的 NVM 实现,适用于基于 Unix 的系统,如 Linux 和 macOS。
- NVM for Windows (nvm-windows):这是专门为 Windows 系统设计的 NVM 版本,与 Linux/macOS 上的 NVM 不完全相同,但提供了类似的功能。
# 安装
通过上面的地址来进行安装包的下载,然后进行解压。
# 解压源码包
tar -zxvf v0.39.7.tar.gz --strip-components=1
2
--strip-components=1
会移除顶层目录(例如nvm-v0.39.7/
),直接保留源码内容。- 解压后的目录,建议应为
/usr/local/nvm/
。
这里介绍的是手动安装模式,当然有其他方式,需要请自行查阅资料。
# 编辑 Shell 配置文件
根据使用的 Shell 类型(Bash、Zsh 等),编辑对应的配置文件:
- Bash 用户:编辑
~/.bashrc
- Zsh 用户:编辑
~/.zshrc
# 使用 nano 或 vim 编辑配置文件
vim ~/.bashrc
2
# 查看Shell类型
在linxu中查看是 bash还是zsh?
可以通过如下方式
方法一:使用 echo $0
- 如果输出是
-bash
或bash
,表示当前使用的是 Bash。 - 如果输出是
zsh
,表示当前使用的是 Zsh。
$ echo $0
-bash
# 第二行 为输出
2
3
方法一:使用 echo $SHELL
echo $SHELL
/bin/bash
# 第二行 为输出
2
3
- 如果输出是
/bin/bash
,表示默认 Shell 是 Bash。 - 如果输出是
/bin/zsh
,表示默认 Shell 是 Zsh。
注意:$SHELL
显示的是系统的默认 Shell,而不是当前实际运行的 Shell(如果手动切换过 Shell,可能会有差异)。
Bash 和 Zsh 是两种常见的 Shell,它们的配置文件在 用途、加载顺序 和 功能特性 上存在显著区别。
以下是它们的主要差异总结:
- 配置文件的核心区别
类别 | Bash | Zsh |
---|---|---|
主要配置文件 | - ~/.bash_profile (登录 Shell)- ~/.bashrc (非登录 Shell) | - ~/.zshrc (交互式 Shell)- ~/.zprofile (登录 Shell) |
全局配置文件 | - /etc/profile - /etc/bashrc | - /etc/zshenv - /etc/zprofile - /etc/zshrc |
执行频率 | - .bash_profile :仅在登录时执行一次。- .bashrc :每次打开新终端时执行。 | - .zshrc :每次启动 Zsh 会话时执行。- .zprofile :仅在登录时执行。 |
当然,它们两个在功能特点和各自配置文件的加载顺序也有一些不同,这里就不一一展开介绍了,欢迎自行查询。
# 添加 NVM 环境变量
在文件末尾添加以下内容(根据实际安装路径调整):
export NVM_DIR="/usr/local/nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # 加载 NVM
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # 可选:启用补全功能
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/
2
3
4
5
保存并退出后,重新加载配置文件
# 使配置生效
运行以下命令重新加载 Shell 配置文件:
source ~/.bashrc # 如果你使用 Bash
source ~/.zshrc # 如果你使用 Zsh
2
# 验证安装
运行以下命令验证 NVM 是否安装成功:
nvm --version
如果输出类似 0.39.7
的版本号,则表示安装成功。
# 配置镜像源
在 Linux 系统中,使用 NVM(Node Version Manager) 安装 Node.js 时,默认会从国外服务器下载 Node.js 的二进制文件,这在国内网络环境下可能会导致下载速度较慢。为了提高下载效率,可以通过以下方式配置 NVM 和 Node.js 的镜像地址(如淘宝、NPMMirror 等国内镜像源):
NVM 本身支持通过配置文件指定 Node.js 和 npm 的下载地址。在 Shell 配置文件(如 ~/.bashrc
或 ~/.zshrc
)中添加以下环境变量:
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/ # 阿里云镜像
# 或腾讯云镜像
export NVM_NODEJS_ORG_MIRROR=https://mirrors.cloud.tencent.com/nodejs-release/
2
3
保存后执行 source ~/.bashrc
使配置生效。
# 使用
- 使用以下命令
nvm ls-remote # 查看版本列表,确认链接包含 npmmirror.com
nvm install 20 # 测试下载速度是否提升
2
- 清楚缓存并重新拉取列表
nvm cache clear # 清除本地缓存
NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/ nvm ls-remote # 强制指定镜像源
2
- 更新nvm版本
执行以下命令升级 nvm
至最新版,确保兼容性:
cd ~/.nvm && git pull origin master # 更新 nvm 仓库
- 查看版本列表来源
运行 nvm ls-remote
,检查输出链接是否包含镜像域名(如 npmmirror.com
或 nodejs.org
)
# 安装node
使用 NVM 安装一个 Node.js 版本(如 v18.20.6
):v18.20.6 或者v20.18.0
nvm install 18.20.6
成功后,通常会有如下的输出
Computing checksum with sha256sum
Checksums matched!
Now using node v18.20.6 (npm v10.8.2)
Creating default alias: default -> 18.20.6 (-> v18.20.6)
2
3
4
- 查看已安装版本
nvm ls
- 执行以下命令确认 npm 的镜像源是否已生效:
npm config list
- 切换版本
nvm use <version>
成功后,会有以下的输出
Now using node v20.18.0 (npm v10.8.2)
- 设置默认版本
nvm alias default <version>
nvm alias default 20.18.0
default -> 20.18.0 (-> v20.18.0)
2
3
4
5
注意:权限问题
如果安装过程中遇到权限错误,可以尝试:
sudo chown -R $USER:$USER /usr/local/nvm