「sdkman」「nvm」Linux:基于sdkman安装多版本Java;安装maven;基于nvm安装多版本nodejs;安装yarn

1. 基于sdkman 安装多版本Java

Linux环境下管理多版本java可以使用sdkman,官网: https://sdkman.io/

需要注意sdkman 依赖 zipunzip 命令,记得提前下载再下载sdkman

安装命令

按官网走很简单:

curl -s “https://get.sdkman.io” | bash
source “$HOME/.sdkman/bin/sdkman-init.sh”

验证安装

执行 sdk version 有打印信息说明安装成功!!

SDKMAN!
script: 5.18.2
native: 0.4.6

  • curl命令可能有网络问题timeout 导致下载失败,网络代理问题请自行解决
  • sdkman默认安装路径在 ~/.sdkman ,下载失败后再次下载我记得会报错sdkman已安装,请 rm -rf ~/.sdkman 删除目录后再次下载

查看可安装版本

输入命令 查看sdkman可下载的java(进入类似vi 的环境,:q退出,空格翻页)

sdk list java

我提前安装了 17.0.9 的 Jetbranis 提供的java可以看到Status 是installed
在这里插入图片描述

安装指定版本

安装指定版本java ,后面数字就是的是 Identifier 列值(版本)

sdk install java 17.0.9-jbr

sdk install java 8.0.392-tem

在这里插入图片描述下载完会提示是否将当前下载版本设为默认,按需选择,我为 n了

切换版本

查看版本 : sdk current
切换版本: sdk use java 8.0.392-tem
切换java版本效果如图:
在这里插入图片描述

其他命令请参考官方doc : https://sdkman.io/usage#use

2. 安装maven

maven 官网 :https://maven.apache.org/download.cgi

下载maven

maven依赖java,Maven 3.9+ requires JDK 8 or above to execute. 这里下载的 3.9.6

curl -O https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz

解压:

tar -xzvf apache-maven-3.9.6-bin.tar.gz

配置maven settings.xml

maven 配置文件所在路径 : $MAVEN_DIR/conf/settings.xml
一般我会修改: 本地仓库路径 和国内镜像 (aliyunmaven和 huaweicloud)

<localRepository>/opt/maven_repo</localRepository>
...
<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>
<mirror>
    <id>huaweicloud</id>
    <mirrorOf>*</mirrorOf>
    <url>https://repo.huaweicloud.com/repository/maven/</url>
</mirror>

配置环境变量:

我这边直接配置在全局 /etc/profile 里了,如过有洁癖就按需写在 ~/.bashrc 或 ~/.bash_profile 或 ~/.zshrc ,Maven并不强制要求将其路径添加到/etc/profile
vi /etc/profile ,追加

export MAVEN_DIR=/opt/apache-maven-3.9.6
export PATH=$PATH:$MAVEN_DIR/bin

记得source , source /etc/profile
重启终端

验证

mvn -v

3.基于nvm安装多版本nodejs

Linux nvm 的repo:https://github.com/nvm-sh/nvm ,下文安装过程命令来源于该repo

安装nvm

安装nvm的命令类似sdkman

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

配置

之后配置环境: vi ~/.bashrc ,在文末追加下列

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

最后编译生效

source ~/.bashrc

验证

nvm -v

基于nvm安装nodejs

nvm安装后,安装多版本nodejs

#查询目前线上所能安装的所有nodejs版本
nvm ls-remote 

#安装相应版本nodejs
nvm install 14.19.3

#使用相应版本的nodejs
nvm use 14.19.3

#列出已经安装的版本
nvm ls

#卸载相应的nodejs
nvm uninstall 14.19.3

#查看当前版本
nvm current

npm 国内最好配下淘宝镜像加速下载,需要注意淘宝镜像url 21年变更过别设置旧的!
域名切换规则:

=> 新
https://npm.taobao.org => https://npmmirror.com
https://registry.npm.taobao.org => https://registry.npmmirror.com

全局配置命令

 // 查询源
    npm config get registry

    // 更换国内源
    npm config set registry https://registry.npmmirror.com

    // 恢复官方源
    npm config set registry https://registry.npmjs.org

    // 删除注册表
    npm config delete registry

4.安装yarn

安装 yarn ,一种方式是npm安装yarn

npm install -g yarn

我的arch系统直接pacman安装的

pacman -S yarn

yarn也最好配下国内镜像(下面命令是全局配置)

 // 查询源
    yarn config get registry

    // 更换国内源
    yarn config set registry https://registry.npmmirror.com

    // 恢复官方源
    yarn config set registry https://registry.yarnpkg.com

    // 删除注册表
    yarn config delete registry

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/333053.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】27、arm 交叉编译

arm 下的 gcc 工具&#xff1a;arm-linux-gnueabihf-gcc 交叉编译介绍&#xff1a;https://aijishu.com/a/1060000000023713 一、redis arm 编译 1.1 准备交叉编译工具 在 https://redis.io/download/ 下载源码&#xff1a;redis-6.2.14.tar.gz 下载交叉编译工具&#xff…

明渠流量监测站的优势

明渠流量监测站的优势相对于传统监测站来说较为明显。首先&#xff0c;明渠流量监测站可以适应各种形态的水流条件&#xff0c;包括矩形、梯形和涵洞等不同类型的明渠。其次&#xff0c;其采用了先进的在线监测技术&#xff0c;如超声波明渠流量计、多普勒明渠流量计和多声道明…

云原生网关哪家强---Sealos 网关血泪史

云原生网关哪家强---Sealos 网关血泪史 Sealos 公有云&#xff08;https://cloud.sealos.io&#xff09;几乎打爆了市面上所有主流的开源网关&#xff0c;本文可以给大家很好的避坑&#xff0c;在网关选型方面做一些参考。 Sealos Cloud 的复杂场景 Sealos 公有云上线以来&a…

【Java】HttpServlet类中前后端交互三种方式(query string、form表单、JSON字符串)

在前后端的交互中&#xff0c;前端通过以下三种方式来与后端进行交互&#x1f31f; ✅query string ✅form表单 ✅JSON字符串 下面我们将书写这三种方式的后端代码并进行讲解 1、Query String QueryString即在url中写入键值对&#xff0c;一般用doGet方法进行交互 代码如下 …

即时按需原子 CSS 引擎:比 Tailwind JIT 快 5 倍! | 开源日报 No.149

unocss/unocss Stars: 14.6k License: MIT 该项目是一个即时的按需原子 CSS 引擎&#xff0c;受到 Windi CSS、Tailwind CSS 和 Twind 的启发&#xff0c;解决了定制化、速度和体积的问题。 以下是该项目的特点和核心优势&#xff1a; 完全可定制&#xff1a;通过预设提供所…

Docker(三)使用 Docker 镜像:从仓库获取镜像;管理本地主机上的镜像;介绍镜像实现的基本原理

作者主页&#xff1a; 正函数的个人主页 文章收录专栏&#xff1a; Docker 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01; 使用 Docker 镜像 在之前的介绍中&#xff0c;我们知道镜像是 Docker 的三大组件之一。 Docker 运行容器前需要本地存在对应的镜像&#x…

Linux之echo|反引号|重定向符

echo命令输出内容 反引号的使用 tail命令跟踪文件更改 重定向符号使用

服务器数据恢复—异常关机导致Linux服务器目录项被破坏数据恢复案例

服务器数据恢复环境&#xff1a; 某品牌PowerEdge R730服务器PowerVault MD3200存储&#xff0c;划分若干lun&#xff0c;操作系统版本是centos7&#xff0c;EXT4文件系统。 服务器故障&分析&#xff1a; 服务器在运行过程中自动关机且无法启动&#xff0c;服务器管理员对服…

【开源】基于JAVA的教学资源共享平台

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 类图设计3.3 数据库设计3.3.1 课程档案表3.3.2 课程资源表3.3.3 课程作业表3.3.4 课程评价表 四、系统展…

Git一台电脑 配置多个账号

Git一台电脑 配置多个账号 Git一台电脑 配置多个账号 常用的Git版本管理有 gitee github gitlab codeup &#xff0c;每个都有独立账号&#xff0c;经常需要在一个电脑上向多个代码仓提交后者更新代码&#xff0c;本文以ssh 方式为例配置 1 对应账号 公私钥生成 建议&#…

如何在 Element Plus 中使用自定义 icon 组件 (非组件库内置icon)

先说原理就是将 svg 文件以 vue 组件文件的方式使用 需求&#xff1a;我想要在 Element Plus 得评分组件中使用自定义得图标。 el-rate v-model"value1" /> 组件本身是支持自定义图标的&#xff0c;但是教程中只说明了如何使用 element-plus/icons-vue 图标库内置…

vue3前端开发,感受一下组合式api和VUE2选项式的差异

vue3前端开发,感受一下组合式api和VUE2选项式的差异&#xff01;今天开始&#xff0c;正式开始&#xff0c;进入学习Vue3的内容。以后代码&#xff0c;案例分享&#xff0c;都会采用组合式api的模式为大家做展示。 今天是第一节&#xff0c;带大家感受一下&#xff0c;Vue3的组…

【LeetCode: 48. 旋转图像】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

HarmonyOS鸿蒙学习基础篇 - 什么是HarmonyOS

概述 HarmonyOS是华为开发的一款面向未来的全场景分布式智慧操作系统&#xff0c;将逐步覆盖18N全场景终端设备&#xff1b; 对消费者而言 HarmonyOS用一个‘统一的软件系统’ 从根本上解决消费者面对大量智能终端体验割裂的问题&#xff0c;为消费者带来同意便利安全的智慧化全…

Failed at the node sass@4.14.1 postinstall script.

首先&#xff0c;查看node和 npm版本 #用于列出已安装的 Node.js 版本。 nvm ls #切换node版本 nvm use 12.17.0 #换国内镜像源&#xff1a;&#xff08;单独设置sass的安装源。&#xff09; npm config set sass_binary_sitehttps://npm.taobao.org/mirrors/node-sass …

Hook入门与抓包

Hook入门与抓包 0x01 Frida基础介绍 Frida介绍 Frida 的 介 绍 是 “Frida 是 平 台 原 生 App 的“Greasemonkey”&#xff0c;专业一点来说就是一种动态插桩工具&#xff0c;可以插入一些代码到原生App的内存空间去动态地监视和修改其行为&#xff0c;这些原生平台可以是W…

vue基于Spring Boot的中医在线学习课程购买服务管理系统

SpinrgBoot的主要优点有&#xff1a; 1、为所有spring开发提供了一个更快、更广泛的入门体验&#xff1b; 2、零配置&#xff1b; 3、集成了大量常用的第三方库的配置&#xff1b; 4、提供准备好的特性。当今&#xff0c;nodejs领域的开发者机会都在使用SpinrgBoot,在开发领域逐…

ONLYOFFICE服务器无法连接,请联系管理员问题解决

1、现象 部署好了nextcloud和onlyoffice后&#xff0c;新建文本文档报错ONLYOFFICE服务器无法连接&#xff0c;请联系管理员。 用快捷键“F12”进入控制台&#xff0c;点开错误提示栏&#xff0c;找到有“api.js“文件&#xff0c;“https://ONLYOFFICED的地址/web-apps/apps/…

冻结LM微调Prompt

这一章我们介绍在下游任务微调中固定LM参数&#xff0c;只微调Prompt的相关模型。这类模型的优势很直观就是微调的参数量小&#xff0c;能大幅降低LLM的微调参数量&#xff0c;是轻量级的微调替代品。和前两章微调LM和全部冻结的prompt模板相比&#xff0c;微调Prompt范式最大的…