tulip notes
首页
  • 学习笔记

    • 《Vue》
  • 踩坑日记

    • JavaScript
  • MQ
  • Nginx
  • IdentityServer
  • Redis
  • Linux
  • Java
  • SpringBoot
  • SpringCloud
  • MySql
  • docker
  • 算法与设计模式
  • 踩坑与提升
  • Git
  • GitHub技巧
  • Mac
  • 网络
  • 项目构建合集
  • 一些技巧
  • 面试
  • 一些杂货
  • 友情链接
  • 项目发布
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Star-Lord

希望一天成为大师的学徒
首页
  • 学习笔记

    • 《Vue》
  • 踩坑日记

    • JavaScript
  • MQ
  • Nginx
  • IdentityServer
  • Redis
  • Linux
  • Java
  • SpringBoot
  • SpringCloud
  • MySql
  • docker
  • 算法与设计模式
  • 踩坑与提升
  • Git
  • GitHub技巧
  • Mac
  • 网络
  • 项目构建合集
  • 一些技巧
  • 面试
  • 一些杂货
  • 友情链接
  • 项目发布
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 各种MQ

  • Nginx

  • IdentityServer

  • Redis

  • Linux

    • Linux简介
    • Linux中一些常用命令
    • Linux中的文件复制与查找
    • 初识shell
    • shell-续与查看文件内容
    • 查看进程与shell
    • 查找数据与压缩
    • 再探shell
    • Linux系统中各个文件的作用
    • 【开发常用】Java开发必看
    • 【开发常用】软件安装利器
      • SDKMAN-简介
        • 安装SDK
        • 更新SDK
      • 使用SDK-安装软件
        • 查看JDK版本
        • 安装Java
        • 卸载JDK
        • 查看maven
        • 安装maven
        • 切换maven版本
        • Maven 版本与 Java 兼容性对照表
        • 安装软件的目录
      • NVM-简介
        • 支持的平台
        • 安装
        • 编辑 Shell 配置文件
        • 查看Shell类型
        • 添加 NVM 环境变量
        • 使配置生效
        • 验证安装
        • 配置镜像源
        • 使用
        • 安装node
  • 中间件
  • Linux
EffectTang
2025-04-27
目录

【开发常用】软件安装利器

# 软件安装利器

# SDKMAN-简介

SDKMAN是一个多语言SDK管理工具,支持Java、Groovy、Scala等,还有Maven、Gradle这些工具。它允许用户在同一系统上安装和管理多个版本的SDK,并且可以方便地切换版本。

以下是官网 (opens new window):

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
1

安装完成后,执行以下命令初始化环境:

source "$HOME/.sdkman/bin/sdkman-init.sh"
1

或者打开一个新的会话窗口,也会生效。

  • 查看是否安装成功运行
sdk version
1

如果一切正常或者说安装成功,你应该看到 SDKMAN! 的版本信息。

# 更新SDK

sdk update
1

# 使用SDK-安装软件

查看JDK,同时可以列出已经安装的JDK:

# 查看JDK版本

sdk list java
1

这里会列出很多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       # 临时切换

1
2
3
4
5
6

提示:

在linux系统或者mac系统中,切换版本时,使用tab键,可以快速补齐,或者列出可选择的JDK版本。

# 卸载JDK

卸载指定版本Java:

sdk uninstall java 21.0.2-open
1

验证版本:

java -version
1

# 查看maven

sdk list maven
1

# 安装maven

sdk install maven  <version>
1

# 切换maven版本

sdk use maven <version>
1

# 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
1

当然你也可以使用,linux系统中的which指令来查看

which mvn

which java
1
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
1
2
  • --strip-components=1 会移除顶层目录(例如 nvm-v0.39.7/),直接保留源码内容。
  • 解压后的目录,建议应为 /usr/local/nvm/。

这里介绍的是手动安装模式,当然有其他方式,需要请自行查阅资料。

# 编辑 Shell 配置文件

根据使用的 Shell 类型(Bash、Zsh 等),编辑对应的配置文件:

  • Bash 用户:编辑 ~/.bashrc
  • Zsh 用户:编辑 ~/.zshrc
# 使用 nano 或 vim 编辑配置文件
vim ~/.bashrc
1
2

# 查看Shell类型

在linxu中查看是 bash还是zsh?

可以通过如下方式

方法一:使用 echo $0

  • 如果输出是 -bash 或 bash,表示当前使用的是 Bash。
  • 如果输出是 zsh,表示当前使用的是 Zsh。
$ echo $0
-bash
# 第二行 为输出
1
2
3

方法一:使用 echo $SHELL

echo $SHELL
/bin/bash
# 第二行 为输出
1
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/
1
2
3
4
5

保存并退出后,重新加载配置文件

# 使配置生效

运行以下命令重新加载 Shell 配置文件:

source ~/.bashrc  # 如果你使用 Bash
source ~/.zshrc   # 如果你使用 Zsh
1
2

# 验证安装

运行以下命令验证 NVM 是否安装成功:

nvm --version
1

如果输出类似 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/
1
2
3

保存后执行 source ~/.bashrc 使配置生效。

# 使用

  • 使用以下命令
nvm ls-remote  # 查看版本列表,确认链接包含 npmmirror.com
nvm install 20  # 测试下载速度是否提升
1
2
  • 清楚缓存并重新拉取列表
nvm cache clear  # 清除本地缓存
NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/ nvm ls-remote  # 强制指定镜像源
1
2
  • 更新nvm版本

执行以下命令升级 nvm 至最新版,确保兼容性:

cd ~/.nvm && git pull origin master  # 更新 nvm 仓库
1
  • 查看版本列表来源

运行 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 
1

成功后,通常会有如下的输出

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)
1
2
3
4
  • 查看已安装版本
nvm ls
1
  • 执行以下命令确认 npm 的镜像源是否已生效:
npm config list
1
  • 切换版本
nvm use <version>
1

成功后,会有以下的输出

Now using node v20.18.0 (npm v10.8.2)
1
  • 设置默认版本
nvm alias default <version>

nvm alias default 20.18.0
default -> 20.18.0 (-> v20.18.0)

1
2
3
4
5

注意:权限问题

如果安装过程中遇到权限错误,可以尝试:

sudo chown -R $USER:$USER /usr/local/nvm
1
上次更新: 2025/05/05, 15:20:37
【开发常用】Java开发必看

← 【开发常用】Java开发必看

最近更新
01
面向切面跟自定义注解的结合
05-22
02
时间跟其他数据的序列化
05-19
03
数据加密与安全
05-17
更多文章>
Theme by Vdoing | Copyright © 2023-2025 EffectTang
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式