「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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ARM64汇编01 - 环境搭建

arm官方手册 由于市面上几乎没有arm相关书籍&#xff0c;所以推荐看官方文档。虽然是英文的&#xff0c;看不下去也要硬看&#xff0c;毕竟搞这方面的还是得有啃英文文档/书籍的能力。 另外&#xff0c;再推荐一个翻译网站&#xff1a;https://www.deepl.com/zh/translator …

架设一台NFS服务器,并按照以下要求配置

1、开放/nfs/shared目录&#xff0c;供所有用户查询资料 2、开放/nfs/upload目录&#xff0c;为192.168.xxx.0/24网段主机可以上传目录&#xff0c; 并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210 3、将/home/tom目录仅共享给192.168.xxx.xxx这台主机&#xff0c;…

LightDB - oracle_fdw 过滤条件下推增强【24.1】

LightDB - oracle_fdw 过滤条件下推增强【24.1】 1. 字符串比较下推1.1 示例 2. 隐式转换下推2.1 示例 3. nvl 和trim 下推3.1 示例 LightDB 在24.1版本对oracle_fdw 的where下推进行了增强&#xff0c;新增对如下两种情况进行下推&#xff1a; 字符串比较下推&#xff0c;如 …

1-RuoYi-Vue环境部署

1.准备工作 JDK > 1.8 (推荐1.8版本) Mysql > 5.7.0 (推荐5.7版本) Redis > 3.0 Maven > 3.0 Node > 12提示 前端安装完node后&#xff0c;最好设置下淘宝的镜像源&#xff0c;不建议使用cnpm&#xff08;可能会出现奇怪的问题&#xff09; 2.运行系统 前往…

Spring集成MyBatis与MyBatis-Plus添加分页插件

项目场景&#xff1a; MyBatis使用分页插件PageHelperMyBatis-Plus3.4.0版本之前添加分页插件&#xff0c;使用配置PaginationInterceptor&#xff1b;MyBatis-Plus3.4.0版本添加分页插件&#xff0c;使用配置MybatisPlusInterceptor&#xff1b; 配置示例&#xff1a; 1、My…

大模型微调学习记录-基于GLM-130B

0. 前序背景 论文&#xff1a;GLM-130B: AN OPEN BILINGUAL PRE-TRAINED MODEL GLM2的微调教程 目前GLM2-130B优于或相当GPT-3-175B的性能。 选择130B&#xff08;1300亿参数&#xff09;是从硬件性能考虑&#xff0c;可以在单张A100&#xff08;40Gx8&#xff09;上进行推理…

openssl3.2 - 官方demo学习 - mac - poly1305.c

文章目录 openssl3.2 - 官方demo学习 - mac - poly1305.c概述笔记END openssl3.2 - 官方demo学习 - mac - poly1305.c 概述 MAC算法为Poly1305, 加密算法为AES-128-ECB, 用key初始化加密算法 加密算法进行padding填充 对加密算法的key加密, 放入MAC_key后16字节, 将MAC_key的…

jvm -Djava.library.path 无法打开共享对象文件:

项目代码修改 java -jar -Xms1024m -Xmx1024m -Dloader.path/data/encrypt/lib -Djava.library.path/data/encrypt/libVtExtAPI.so server-1.0.0-SNAPSHOT.jar 重新启动

C#设计模式教程(1):简单工厂模式

在C#中,工厂模式可以分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。 简单工厂模式(Simple Factory Pattern): 简单工厂模式并不属于23种经典设计模式之一,但它是工厂模式的一种简单形式。在简单工厂模式中,有一个工厂类负责根据传入的参数决定创建哪种产…

bevy the book 20140118翻译(全)

源自&#xff1a;Bevy Book: Introduction 主要用 有道 翻译。 Introduction 介绍 Getting Started 开始 Setup 设置 Apps 应用程序 ECS Plugins 插件 Resources 资源 Next Steps 下一个步骤 Contributing 贡献 Code 代码 Docs 文档 Building Bevys Ecosystem 构建 b…

VScode远程开发

VScode远程开发 在SSH远程连接一文中&#xff0c;我么介绍了如何使用ssh远程连接Jetson nano端&#xff0c;但是也存在诸多不便&#xff0c;比如:编辑文件内容时&#xff0c;需要使用vi编辑器&#xff0c;且在一个终端内&#xff0c;无法同时编辑多个文件。本节将介绍一较为实用…

基于ORB算法的图像匹配

基础理论 2006年Rosten和Drummond提出一种使用决策树学习方法加速的角点检测算法&#xff0c;即FAST算法&#xff0c;该算法认为若某点像素值与其周围某邻域内一定数量的点的像素值相差较大&#xff0c;则该像素可能是角点。 其计算步骤如下&#xff1a; 1&#xff09;基于F…

VMware Workstation Pro虚拟机搭建

下载链接&#xff1a;Download VMware Workstation Pro 点击上方下载&#xff0c;安装过程很简单&#xff0c;我再图片里面说明 等待安装中。。。。。是不是再考虑怎样激活&#xff0c;我都给你想好了&#xff0c;在下面这个链接&#xff0c;点赞收藏拿走不谢。 https://downl…

Jupyter-Notebook无法创建ipynb文件

文章目录 概述排查问题恢复方法参考资料 概述 用户反馈在 Notebook 上无法创建 ipynb 文件&#xff0c;并且会返回以下的错误。 报错的信息是: Unexpected error while saving file: Untitled5.ipynb attempt to write a readonly database 排查问题 这个是一个比较新的问…

lodash 的 _.groupBy 函数是怎么实现的?

说在前面 &#x1f388;lodash的_.groupBy函数可以将一个数组按照给定的函数分组&#xff0c;返回一个新对象。该函数接收两个参数&#xff1a;第一个参数是要进行分组的数组&#xff0c;第二个参数是用于分组的函数。该函数会对数组中的每个元素进行处理&#xff0c;返回一个值…

物联网孢子捕捉分析仪在农田起到什么作用

TH-BZ03随着科技的飞速发展&#xff0c;物联网技术在农业领域的应用越来越广泛。其中&#xff0c;物联网孢子捕捉分析仪作为一种先进的设备&#xff0c;在农田中发挥着不可或缺的作用。本文将详细介绍物联网孢子捕捉分析仪在农田中的作用。 一、实时监测与预警 物联网孢子捕捉分…

【webrtc】GCC 7: call模块创建的ReceiveSideCongestionController

webrtc 代码学习&#xff08;三十二&#xff09; video RTT 作用笔记 从call模块说起 call模块创建的时候&#xff0c;会创建 src\call\call.h 线程&#xff1a; 统计 const std::unique_ptr<CallStats> call_stats_;SendDelayStats &#xff1a; 发送延迟统计 const…

WebGL中开发VR(虚拟现实)应用

WebGL&#xff08;Web Graphics Library&#xff09;是一种用于在浏览器中渲染交互式3D和2D图形的JavaScript API。要在WebGL中开发VR&#xff08;虚拟现实&#xff09;应用程序&#xff0c;您可以遵循以下一般步骤&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&a…

手把手带你死磕ORBSLAM3源代码(五十一) FrameDrawer.cc DrawTextInfo

目录 一.前言 二.代码 2.1完整代码 2.2 cv::Mat::zeros介绍 2.3 cv::putText介绍 2.4 cv::Point介绍

word vba自动化排版-设置标题模板样式、标题、正文、图表、页面、上下标等设置、删除空白行、删除分页符分节符、删除空格等

word vba自动化排版-设置标题模板样式、标题、正文、图表、页面、上下标等设置、删除空白行、删除分页符分节符、删除空格等 目录 1.前提 2.思路 3.word中设置 4.效果图 5.经验教训 6.直接上代码 1.前提 需求&#xff1a;工作中涉及自动识别大量的文字报告&#xff08;o…