MAC环境安装(卸载)软件
MAC环境安装(卸载)软件
- jdk
- node
- 安装node,并实现不同版本的切换
- 背景
- 卸载node
- 从node官网下载pkg安装的node
- 卸载用 homebrew 安装的node
- 如果你感觉删的不够干净,可以再细分删除
- 验证删除结果
- 在macOS下创建home目录
jdk
- 1.下载jdk
先去官网下载自己需要的版本,jdk下载官方网址
如下图所示,选择Accept License Agreement然后就可以进行下载
http://www.oracle.com/technetwork/java/javase/downloads/index.html
-
2.第二步
下载完成以后,双击运行下载下来的.dmg文件,进行傻瓜式next点击进行安装,安装完成,为了方便使用Java命令,需要配置java_home,即Java的环境变量 -
3.第三步:
配置Java环境变量,重点来了,在配置环境变量之前,先自己打开“终端”,即window下的cmd,输入 "java"或者"java -version"结果很神奇的一幕出现了,如看到如下界面则说明已经完成了JDK的安装!

node
安装node,并实现不同版本的切换
背景
由于在使用node的时候需要频繁的切换node的版本。在windows上可以通过安装不同版本的软件进行实现,在mac上可以更加方便快捷的实现这个过程哦!
- 全局安装n
npm install -g n
- 选择不同的版本
# 安装最新稳定版 node
n stable
# 安装最新版本 node
n latest
# 安装某个具体node版本
n 14.16.1
- 删除某个版本
# 删除某个版本
n rm 14.16.1
- 查看node的安装路径
n which 14.16.1
- 切换版本
n
# 若切换失败可使用
sudo n
- 以指定的版本来执行脚本
n use 14.16.1 test.js
- 查看已经安装的版本
n ls
- 查看服务器上所有可用的版本
n ls-remote --all
卸载node
从node官网下载pkg安装的node
sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}
卸载用 homebrew 安装的node
brew uninstall node
如果你感觉删的不够干净,可以再细分删除
- 删除 npm 相关内容
sudo npm uninstall npm -g
sudo rm -rf ~/.npm
- 删除 /usr/local/lib 下node相关内容
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
cd /usr/local/lib
sudo rm -rf node*
sudo rm -rf /usr/local/lib/dtrace/node.d
- 删除 /usr/local/include 下 node 和 node_modules 目录
cd /usr/local/include
sudo rm -rf node*
- 删除 /usr/local/bin 下 node 执行文件
cd /usr/local/bin
sudo rm /usr/local/bin/npm
sudo rm /usr/local/bin/node
ls -las 仔细查看,全局安装的npm包一般会在这个目录下创建软连接,发现就删除
- 其他删除工作
sudo rm -rf /usr/local/share/man/man1/node.1
验证删除结果
node //command not found
npm //command not found
在macOS下创建home目录
在做项目时,由于更新了macos系统,导致原home目录丢失,原先项目日志记录与home路径下,因此导致无法找到指定目录文件,项目启动失败。
cd /
mkdir /home
vim /etc/auto_master
# 将带有home的一行删除或者注释
sudo automount -vc
# 创建test文件夹
mkdir /home/test
cd /home
sudo chmod -R 777 test
相关文章:
MAC环境安装(卸载)软件
MAC环境安装(卸载)软件 jdknode安装node,并实现不同版本的切换背景 卸载node从node官网下载pkg安装的node卸载用 homebrew 安装的node如果你感觉删的不够干净,可以再细分删除验证删除结果 在macOS下创建home目录 jdk 1.下载jdk 先…...
【Vim Masterclass 笔记05】第 4 章:Vim 的帮助系统与同步练习(L14+L15+L16)
文章目录 Section 4:The Vim Help System(Vim 帮助系统)S04L14 Getting Help1 打开帮助系统2 退出帮助系统3 查看具体命令的帮助文档4 查看帮助文档中的主题5 帮助文档间的上翻、下翻6 关于 linewise7 查看光标所在术语名词的帮助文档8 关于退…...
Multisim更新:振幅调制器+解调器(含仿真程序+文档+原理图+PCB)
前言 继3年前设计的:Multisim:振幅调制器的设计(含仿真程序文档原理图PCB),有读者表示已经不能满足新需求,需要加上新的解调器功能😂😂😂,鸽了很久这里便安排…...
CentOS — 群组管理
文章目录 一、查看群组二、添加群组三、删除群组四、修改群组 Linux 系统中每个用户都属于一个特定的群组。 若不设置用户的群组,默认会创建一个和用户名一样的群组,并将用户分到该群组。 一、查看群组 groups 用户名:查看用户所属群组。 二…...
【pytorch】注意力机制-1
1 注意力提示 1.1 自主性的与非自主性的注意力提示 非自主性提示: 可以简单地使用参数化的全连接层,甚至是非参数化的最大汇聚层或平均汇聚层。 自主性提示 注意力机制与全连接层或汇聚层区别开来。在注意力机制的背景下,自主性提示被称为查…...
html 元素中的data-v-xxxxxx 是什么?为什么有的元素有?有的没有?
data-v-xxxxxx 在 HTML 中,data-v 属性通常与 Vue.js 或其他前端框架一起使用,特别是当这些框架结合 CSS 预处理器(如 Sass、Less)和单文件组件(Single File Components, SFCs)时。data-v 属性的主要目的是…...
第27周:文献阅读及机器学习
目录 摘要 Abstract 一、文献阅读 发现问题 研究方法 CNN-LSTM DT SVR 创新点 案例分析 数据准备 模型性能 预测模型的实现 仿真实验及分析 二、LSTM 1、基本结构 2、具体步骤 3、举例说明 4、原理理解 总结 摘要 本周阅读文献《Short-term water qua…...
回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测
回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测 目录 回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 一、极限学习机(ELM) 极限学习机是一种单层前馈神经网络,具有训练速…...
Swift Protocols(协议)、Extensions(扩展)、Error Handling(错误处理)、Generics(泛型)
最近在学习 Swift,总结相关知识 1. Protocols(协议) 1.1 协议的定义和实现 协议(protocol) 是一种定义方法和属性的蓝图,任何类、结构体或枚举都可以遵循协议。遵循协议后,需要实现协议中定义…...
.NET中的强名称和签名机制
.NET中的强名称(Strong Name)和签名机制是.NET Framework引入的一种安全性和版本控制机制。以下是关于.NET中强名称和签名机制的详细解释: 强名称 定义: 强名称是由程序集的标识加上公钥和数字签名组成的。程序集的标识包括简单文…...
使用 NestJS 构建高效且模块化的 Node.js 应用程序,从安装到第一个 API 端点:一步一步指南
一、安装 NestJS 要开始构建一个基于 NestJS 的应用,首先需要安装一系列依赖包。以下是必要的安装命令: npm i --save nestjs/core nestjs/common rxjs reflect-metadata nestjs/platform-express npm install -g ts-node包名介绍nestjs/coreNestJS 框…...
2025年大模型技术发展趋势展望:高速旋转的飞轮
2025年大模型技术发展趋势展望 引言1. 多模态大模型(MMM):从单一模态到高级模态融合2. 轻量化大模型:从大参数模型到小参数模型3. 强推理大模型:从概率生成到逻辑推理4. 移动端/边缘端Agent:从云端到本地5.…...
java中类的加载过程及各个阶段与运行时数据区中堆和方法区存储内容
java中类的加载过程 Java 类的加载是 JVM 将 字节码文件(.class 文件)加载到内存并最终转化为运行时数据的过程。它分为以下 五个主要阶段:加载、验证、准备、解析、初始化,每个阶段都有对应的内存位置存储相关信息。以下是类加载…...
渗透测试--Web基础漏洞利用技巧
渗透测试--Web基础漏洞利用技巧 本文章写了Web基础漏洞中一些不那么常见的利用技巧,而不谈及漏洞的原理以及常见用法。 SQL 俺是SQLmap党,哈哈,所以这块就不多讲了。详情可见文章《渗透测试--SQLmap_渗透测试sqlmap-CSDN博客》 XXE XXE组成…...
SpringBoot下载文件的几种方式
小文件:直接将文件一次性读取到内存中,文件大可能会导致OOM GetMapping("/download1")public void download1(HttpServletResponse response) throws IOException {// 指定要下载的文件File file new File("C:\\Users\\syd\\Desktop\\do…...
教程:从pycharm基于anaconda构建机器学习环境并运行第一个 Python 文件
1. 安装 PyCharm 访问 PyCharm 官方网站:https://www.jetbrains.com/pycharm/。下载社区版(免费)或专业版(收费,提供更多功能)。按照操作系统的安装指导安装 PyCharm。安装后打开 PyCharm,并根…...
我用Ai学Android Jetpack Compose之Button
答案来自 通义千问,代码同样需要到Android Studio里实践,才能学会。完整工程代码见文末。 我要学Button,麻烦介绍一下 当然可以!Button 是 Jetpack Compose 中用于创建可点击按钮的 Composable 函数。它提供了丰富的配置选项来定…...
修改secure-file-priv参数-mysql5.7.26限制不允许导入或导出的解决方法
文章目录 前言secure_file_priv参数说明修改secure_file_priv参数的步骤 前言 本人是在sql注入的文件上传拿web shel 时所用到的写入文件权限遇到文件上传不成功的问题,记住修改后,重启mysql才生效,最后可以查看验证一下。 secure_file_priv…...
C# 设计模式(结构型模式):适配器模式
C# 设计模式(结构型模式):适配器模式 在软件开发中,我们经常会遇到需要将不同接口的组件结合在一起的情况。此时,适配器模式(Adapter Pattern)就派上了用场。它属于结构型设计模式,…...
Spring Cloud微服务多模块架构:父子工程搭建实践
一、前言 在现代微服务架构中,Spring Cloud 提供了一整套工具和技术栈来简化分布式系统的开发。为了更好地组织和管理复杂的微服务项目,使用 Maven 多模块(父子工程) 是一种高效的方法。 父子工程 是 Maven 中的一种项目结构…...
Python实现图形化井字棋——人机对战
井字棋,英文名叫TicQ-Tac-Toe,是一种在3*3格子上进行的连珠游戏,和五子棋类似,由于棋盘一般不画边框,格线排成井字故得名。游戏需要的工具仅为纸和笔,然后由分别代表O和X的两个游戏者轮流在格子里留下标记&…...
ESP-12F腾讯云MQTT固件烧录避坑指南:常见问题与解决方案
ESP-12F腾讯云MQTT固件烧录实战:从问题排查到稳定连接 最近在帮朋友调试一个智能家居项目时,遇到了ESP-12F模块连接腾讯云MQTT服务器的问题。原本以为只是简单的固件烧录,没想到在实际操作中踩了不少坑。这篇文章将分享我在解决这些问题时积…...
AI赋能研发革命:从辅助工具到核心引擎,揭秘研发智能大模型如何重塑未来!
从"辅助工具"到"核心引擎",研发范式的深刻变革 近期,科技部在《"十四五"国家科技创新规划》中期评估中明确提出,要加快人工智能与研发创新的深度融合,推动构建研发智能大模型。这一政策导向背后&am…...
VLA 边缘感知决策:Deepoc 开发板强化机械狗灾后救援自主作业能力
在地震废墟、火灾现场、洪水灾区等无定位、弱通信、地形极端的灾后救援场景中,四足机器人的自主作业能力仍存在明显技术瓶颈。传统方案高度依赖预建地图与稳定通信,在环境坍塌、结构非结构化的区域易出现定位漂移、路径失效等问题,难以支撑救…...
图解车联网通信:从端到云的系统架构与关键技术全景解析
1. 车联网通信系统全景解析 想象一下这样的场景:清晨你坐进驾驶座,车辆自动调整到最舒适的座椅位置和空调温度,中控屏显示实时路况并规划出最优路线。行驶途中,前方突然出现事故,你的车提前500米就收到预警并自动减速。…...
告别环境配置焦虑:在Ubuntu 22.04上为ESP32-S3搭建esp-idf v5.4.2的保姆级避坑指南
告别环境配置焦虑:在Ubuntu 22.04上为ESP32-S3搭建esp-idf v5.4.2的保姆级避坑指南 第一次在Ubuntu上配置ESP-IDF开发环境时,我盯着终端里密密麻麻的报错信息发了半小时呆——明明是按照官方文档一步步操作,为什么总是卡在奇怪的环节…...
BOM在PLM系统、ERP系统、MES系统的差异
物料清单(Bill of Materials,BOM)是制造业数字化转型的核心数据载体,串联产品设计、工艺规划、生产执行全流程。 虽然同样是叫BOM,但它在ERP、MES、PLM系统中所承载的业务目标、数据颗粒度、应用场景存在明显差异&…...
告别手动配置:用STM32CubeMX快速搞定STM32F407的DP83848以太网与LWIP初始化(附常见Ping不通问题排查)
STM32F407以太网开发实战:基于CubeMX与DP83848的LWIP快速部署指南 第一次接触STM32F407的以太网开发时,我被数据手册里密密麻麻的寄存器配置和PHY芯片初始化流程吓到了。直到发现CubeMX这个神器,才发现原来配置以太网外设可以像搭积木一样简单…...
dify-sandbox 使用python 虚拟环境本地开发
dify-sandbox 使用python 虚拟环境本地开发为啥使用虚拟环境环境准备启动服务,验证相关接口为啥使用虚拟环境 本地直接使用 pip install 提示错误信息,要在系统范围内安装包,建议使用 apt install python3-xyz 。系统范围的依赖不建议修改&a…...
Calibre中文路径保护终极方案:3步彻底解决文件名乱码问题
Calibre中文路径保护终极方案:3步彻底解决文件名乱码问题 【免费下载链接】calibre-do-not-translate-my-path Switch my calibre library from ascii path to plain Unicode path. 将我的书库从拼音目录切换至非纯英文(中文)命名 项目地址…...
