Mac - Node/Java 配置安装全流程

news2024/10/6 12:19:15

Mac - Node/Java 配置安装全流程

  • 一. Git 安装
  • 二. Java 相关安装
    • 2.1 jenv 版本控制工具
    • 2.2 JDK1.8 和 JDK21的安装
    • 2.3 maven 安装
  • 三. Node 相关安装
    • 3.1 nvm 版本控制工具
    • 3.2 Node 版本安装

一. Git 安装

1.我们首先安装一下Homebrew,这个工具很有用,能利用它下载很多东西。

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

然后我们可以选择第一个数据源,并输入你的密码安装
在这里插入图片描述
2.接下来我们就可以利用Homebrew来安装git了:

brew install git

3.校验是否安装成功:

git --version

二. Java 相关安装

2.1 jenv 版本控制工具

1.这个工具用来管理JDK,我们可以使用它快速切换JDK,首先安装:

brew install jenv

2.安装完毕之后,添加环境变量:

echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc

3.更新系统配置:(现在的mac一般都是更新zshrc文件)

source ~/.zshrc
source ~/.bash_profile

2.2 JDK1.8 和 JDK21的安装

我们先说下JDK21的下载,我们可以去 官网 下载:
在这里插入图片描述
下载完毕后:

cd ~/Downloads
# 记得将命令中的`openjdk-21.0.2_macos-x64_bin.tar.gz`、`jdk-21.0.2.jdk` 修改为你实际的名称:
tar -zxf openjdk-21.0.2_macos-aarch64_bin.tar.gz
mv jdk-21.0.2.jdk ~/Library/Java/JavaVirtualMachines

我们再换一种方式下载JDK8(现在官网要登陆才能下载8):

wget https://repo.huaweicloud.com/java/jdk/8u151-b12/jdk-8u151-linux-x64.tar.gz

如果没有wget 命令的:

brew install wget

下载完毕:

tar -zxvf  jdk-8u151-linux-x64.tar.gz

我们将自己下载来的JDK版本包的路径存起来,通过jenv管理:

jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
jenv add /Users/jj.lin/Library/Java/JavaVirtualMachines/jdk-21.0.2.jdk/Contents/Home

例如JDK21的添加:
在这里插入图片描述

查看已经安装过的JDK版本:

/usr/libexec/java_home -V

例如我这里添加了两个版本:
在这里插入图片描述
可以查看所有的jdk版本:

jenv versions

在这里插入图片描述
设置全局版本:

jenv global 1.8

设置局部版本:

jenv local 21

在这里插入图片描述

2.3 maven 安装

1.下载 maven

cd ~/Downloads
wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
tar -xvf apache-maven-3.8.8-bin.tar.gz

2.安装环境变量(下载来的东西都放到专门的路径,不要放到下载目录)

cd
vi .zshrc

然后将下面的代码复制进去

export MAVEN_HOME=/Users/jj.lin/Desktop/ruanjian/apache-maven-3.8.8
export PATH=$MAVEN_HOME/bin:$PATH

3.最后更新下配置即可:

source ~/.zshrc

三. Node 相关安装

3.1 nvm 版本控制工具

可以看我的这篇文章:mac 系统正确安装nvm

3.2 Node 版本安装

nvm安装好后,就可以利用nvm快速安装并切换Node版本,例如我安装两个版本的Node

nvm install v20.11.1
nvm install v16.14.0

设置镜像:

npm config set registry 你的镜像

切换当前系统的Node版本:

nvm use 16.14.0

如果Mac系统版本比较高的,上面的命令可能只对当前终端有效,下面的命令可以全局(切换之后还要更新下系统环境变量,重启终端即可):

nvm alias default 16.14.0
source ~/.zshrc

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

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

相关文章

大数据处理学习笔记

sudo tar -zxvf hadoop-1.1.2.tar.gz -C / #解压到/usr/local目录下 sudo mv hadoop-1.1.2 hadoop #重命名为hadoop sudo chown -R python ./hadoop #修改文件权限 //java安装同上给hadoop配置环境变量,将下面代…

从C到C++,C++入门篇(1)

1.什么是C C是一种通用编程语言,由Bjarne Stroustrup在1980年代初开发,作为C语言的扩展。 C支持多种编程范式,包括过程式编程、数据抽象、面向对象编程和泛型编程等。 这种语言在操作系统、游戏开发、图形界面、嵌入式系统、分布式系统、网…

啵啵啵啵啵啵啵啵啵啵啵啵啵啵啵

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

“安全生产月”专题报道:AI智能监控技术如何助力安全生产

今年6月是第23个全国“安全生产月”,6月16日为全国“安全宣传咨询日”。今年全国“安全生产月”活动主题为“人人讲安全、个个会应急——畅通生命通道”。近日,国务院安委会办公室、应急管理部对开展好2024年全国“安全生产月”活动作出安排部署。 随着科…

外贸自动化脚本编写会用到的源代码!

随着全球化的加速推进,外贸行业正迎来前所未有的发展机遇,为了提高工作效率、减少人为错误,并更好地把握市场机遇,越来越多的外贸企业开始关注自动化脚本的编写与应用。 自动化脚本不仅可以帮助企业实现业务流程的自动化&#xf…

python-windows10普通笔记本跑bert mrpc数据样例0.1.001

python-windows10普通笔记本跑bert mrpc数据样例0.1.000 背景参考章节获取数据下载bert模型下载bert代码windows10的cpu执行结果注意事项TODOLIST背景 看了介绍说可以在gpu或者tpu上去微调,当前没环境,所以先在windows10上跑一跑,看是否能顺利进行,目标就是训练的过程中没…

python面向过程与初始面向对象编程

让我们穿越到《龙珠》世界,一起揭开 面向对象编程 的神秘面纱吧。 面向过程编程与面向对象编程 天下第一武道会 选手登记 第 22 届天下第一武道会即将召开,各路武术高手齐聚一堂,其中最受瞩目的,当属卡卡罗特(孙悟…

前后端实现文件上传进度条-实时进度

后端接口代码&#xff1a; PostMapping("/upload")public ResponseEntity<String> handleFileUpload(RequestParam("file") MultipartFile file) {try {// 获取文件名String fileName file.getOriginalFilename();// 创建上传目标路径Path targetPa…

CTFHUB-技能树-web-信息泄露

目录 1.目录遍历 2.PHPINFO 3.备份文件下载 3.1 网站源码 3.2 bak文件 3.3 vim缓存 3.4 .DS_Store 4.Git泄露 4.1 Log 4.2 Stash 4.3 Index 5.SVN泄露 6.HG泄露 1.目录遍历 这个没什么好讲的&#xff0c;进去直接点击找flag,然后在下面目录翻&#xff0c;就找到了 …

手撕设计模式——克隆对象之原型模式

1.业务需求 ​ 大家好&#xff0c;我是菠菜啊&#xff0c;前俩天有点忙&#xff0c;今天继续更新了。今天给大家介绍克隆对象——原型模式。老规矩&#xff0c;在介绍这期之前&#xff0c;我们先来看看这样的需求&#xff1a;《西游记》中每次孙悟空拔出一撮猴毛吹一下&#x…

无码高清?Stable DIffusion教程 | 如何利用 Stable Diffusion webui 将图片变得更清晰?全方位对比4种放大方法!

大家好&#xff0c;我是大师兄 1、引言 “高分放大”&#xff08;有时候也叫“超分放大”或“高清修复”&#xff09;描述了在确保图像清晰度的前提下提升图片分辨率的过程。例如&#xff0c;将一张512 x 512的图片放大四倍&#xff0c;得到的就是2048 x 2048分辨率的图片&am…

现代社区管理中的电瓶车违停检测技术

随着城市化进程的加快&#xff0c;电瓶车作为一种环保、便捷的出行工具在社区内的使用越来越普及。然而&#xff0c;电瓶车的随意停放问题也日益严重&#xff0c;影响了社区的整体环境和居民的生活质量。为了解决这一问题&#xff0c;社区管理者迫切需要一种高效、准确的电瓶车…

Qt:QDialogButtonBox的使用

QDialogButtonBox是Qt自带的按钮箱&#xff0c;通过枚举QDialogButtonBox::ButtonRole可以添加Qt定义按钮&#xff0c;或者通过方法QDialogButtonBox::addButton添加自定义的按钮。 // 自定义按钮。 button_box_ new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonB…

【Python报错】已解决SyntaxError: invalid character in identifier

成功解决“SyntaxError: invalid character in identifier”错误的全面指南 一、引言 在Python编程中&#xff0c;SyntaxError是一种常见的编程错误&#xff0c;它表明Python解释器在解析代码时遇到了不符合语法规则的情况。其中&#xff0c;“SyntaxError: invalid character…

vue3_组件间通信方式

目录 一、父子通信 1.父传子&#xff08; defineProps&#xff09; 2.父传子&#xff08;useAttrs&#xff09; 3.子传父&#xff08;ref&#xff0c;defineExpose &#xff09; 4.子传父&#xff08;defineEmits&#xff09; 5.子传父&#xff08;v-model&#xff09; …

OSI协议集

国际标准化组织除了定义osi参考模型之外&#xff0c;还开发了实现7个功能层次的各种协议和服务标准&#xff0c;这些协议和服务统称为osi协议。osi协议是一些已有的协议和iso新开发的协议的混合体&#xff0c;例如&#xff0c;大部分物理层和数据链路层协议是采用现有的协议&am…

数组中的第K个最大元素 ---- 分治-快排

题目链接 题目: 分析: 这道题很明显是一个top-K问题, 我们很容易想到用堆排序来解决, 堆排序的时间复杂度是O(N*logN), 不符合题意, 所以我们可以用另一种方法:快速选择算法, 他的时间复杂度为O(N)快速选择算法, 其实是基于快排, 进行修改而成, 我们还是使用将"将数组分…

QT treeWidget如何添加虚线

1、添加以下代码即可&#xff1a; ui.treeWidget->setStyle(QStyleFactory::create("windows"));2、效果如下&#xff1a;

Docker的网络管理

文章目录 一、Docker容器之间的通信1、直接互联&#xff08;默认Bridge网络&#xff09;1.1、Docker安装后默认的网络配置1.2、创建容器后的网络配置1.2.1、首先创建一个容器1.2.2、ip a 列出网卡变化信息1.2.3、查看新建容器后的桥接状态 1.3、容器内安装常见的工具1.4、容器间…

天才简史——Tamim Asfour与他的H²T实验室

一、Tamim Asfour介绍 Tamim Asfour为KIT人类学和机器人学研究所&#xff08;Institute for Anthropomatics and Robotics&#xff09;的全职教授&#xff0c;并担任高性能人形技术实验室 (High Performance Humanoid Technologies Lab&#xff0c;HT) 负责人。他目前的研究兴…