mac开发环境配置笔记
1. 终端配置
参考: Mac终端配置笔记-CSDN博客
2. 下载JDK
到 oracle官网 下载jdk:
- oracle官网 :Java Downloads | Oracle
- mac的芯片为Intel系列下载 x64版本的jdk;为Apple Mx系列使用 Arm64版本;
- oracle官网下载时报错:400 Bad Request Request Header Or Cookie Too Large,解决办法: “Command+Shift+N” 进入浏览器隐身模式,在隐身模式下访问oracle下载页面
- 参考文档:在oracle下载jdk-8u162-linux-x64.tar.gz显示400 Bad Request Request Header Or Cookie Too Large_oracle request header or cookie too large-CSDN博客
这里以jdk11为例,下载完后,点击安装,默认安装路径 “/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home”。设置java home,指定java使用自己安装的版本:
# step1:进入~文件夹
cd ~# step2: 编辑(若没有该文件则会自动新建) .bash_profile文件
vim .bash_profile# step3: 按 i 进入插入模式,在文件中新增如下配置
#修改java默认路径为自己下载安装的java版本
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME# step4. 按 esc 退出编辑, 输入:wq保存并退出文件# step5. 使新配置生效
source .bash_profile
3. 安装IDE
使用idea,根据需要选择下载版本:Download IntelliJ IDEA
4. 安装Maven
这里安装的Maven是在mac终端和IDEA的terminal窗口里使用,和IDEA使用的maven是两回事。IDEA一般默认使用其自带的maven(当然也可以手动指定为用户自己安装的版本)
4.1. 方案一:使用brew命令安装
使用 brew install maven 命令安装maven:
- 使用 brew 命令安装不需要手动设置环境变量
- 安装完使用 mvn -version 命令验证是否安装成功
引申问题:运行 brew install maven 时报错:zsh: command not found: brew ,说明没有安装homobrew,需要先安装 homobrew
# step1: 使用下面命令安装Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"# step2. 检查Homebrew是否安装成功
brew -v
4.2. 方案二:手动从官网安装
从官网手动下载安装,需要配置环境变量
- 下载最新版本maven:http://maven.apache.org/download.cgi
- 配置环境变量
# step1:进入~文件夹
cd ~# step2: 编辑(若没有该文件则会自动新建) .bash_profile文件
vim .bash_profile# step3: 按 i 进入插入模式,在文件中新增如下配置
export MVN_HOME=/usr/local/apache-maven-x.x.x/bin
export PATH=$PATH:$MVN_HOME# step4. 按 esc 退出编辑, 输入:wq保存并退出文件# step5. 使新配置生效
source .bash_profile# step6.验证是否安装成功
mvn -version
参考文档:
- 【学习笔记】mac安装maven与idea自带maven_mac mvn-CSDN博客
- Mac 安装Maven的几种方法和操作步骤_mac安装maven-CSDN博客
其他信息:
maven安装好后,使用mvn命令时出现意料之外的错误,可以先通过 “mvn -v ”命令查看maven所依赖的 java版本是否正确(原始用的是openjdk版本)。
如果不是预期内的java版本,可以通过设置 java home,将java默认路径改为自己安装的java版本。
如果上述操作解决不了问题,再搜索其他解法。也可参考该文档附录部分的问题: 【学习笔记】mac安装maven与idea自带maven_mac mvn-CSDN博客
5. 配置git
mac默认已安装了git,通过 “ git -v ”命令可以验证是否已安装。如未安装可以使用 “brew install git ” 命令安装。
5.1. 配置用户名和邮箱
一般在新系统上,需要先配置下 Git 工作环境。配置工作只需一次,以后升级时还会沿用现在的配置。
#用户名和邮箱是【必须】配置项, 这个信息将用用于Git 提交
git config --global user.name exampleName # 设置用户名
git config --global user.email example@example.com # 邮箱地址# 这些建议配置项
git config --global push.default simple # 要求 Git 版本 1.9.5 以上
git config --global core.autocrlf false # 让Git不要管Windows/Unix换行符转换的事
配置完成后可以使用 “git config --global --list” 命令查看是否配置正确。这些git的全局变量 配置文件在【 ~/.gitconifg 】中,也可以“cat ~/.gitconifg ”查看。
5.2. 配置SSH KEY
配置SSH Key主要是为了本地计算机和代码托管平台之间建立安全连接,否则可能没有权限从托管平台clone代码到本地。
# step1. 生成ssh key
ssh-keygen -t rsa -C 邮箱 #例如: ssh-keygen -t rsa -C example@example.com# step2.获取你生成的公钥
cat ~/.ssh/id_rsa.pub# step3.复制这个公钥放到代码托管平台-个人设置中的SSH Keys下

参考文档: Mac上配置Git和设置SSH_mac git ssh-CSDN博客
相关文章:
mac开发环境配置笔记
1. 终端配置 参考: Mac终端配置笔记-CSDN博客 2. 下载JDK 到 oracle官网 下载jdk: oracle官网 :Java Downloads | Oraclemac的芯片为Intel系列下载 x64版本的jdk;为Apple Mx系列使用 Arm64版本;oracle官网下载时报错:400 Bad R…...
重装CentOS YUM
1. 检查是否已安装 YUM 运行以下命令检查 YUM 是否已安装: yum list installed | grep yum 如果输出中包含 yum,则说明 YUM 已安装。 2. 卸载旧版本的 YUM(如有必要) 如果需要重新安装 YUM,可以先卸载旧版本&…...
对免认证服务提供apikey验证
一些服务不带认证,凡是可以访问到服务端口,都可以正常使用该服务,方便是方便,但是不够安全。 比如ollama默认安装后就是这样。现在据说网上扫一下端口11434,免apikey的ollama服务一大堆。。。 那我们怎样将本机安装的o…...
数据库驱动免费下载(Oracle、Mysql、达梦、Postgresql)
数据库驱动找起来好麻烦,我整理到了一起,需要的朋友免费下载:驱动下载 目前收录了Oracle、Mysql、达梦、Postgresql的数据库驱动的多个版本,后续可能会分享更多。...
OceanBase 初探学习历程之——安装部署
一、介绍 OceanBase 数据库是一个原生的分布式关系数据库,它是完全由阿里巴巴和蚂蚁集团自主研发 的项目。OceanBase 数据库构建在通用服务器集群上,基于 Paxos 协议和分布式架构,提供 金融级高可用和线性伸缩能力,不依赖特定硬件…...
Windows 下免费开源的多格式文件差异对比工具
软件介绍 有这样一款诞生于 2000 年、专为 Windows 系统打造的开源免费工具,截至 2025 年 1 月已更新至 2.16.46 版本,它就是文件与文件夹比较的得力助手。 其支持文本文件、Word、Excel、PPT 网页、图像等多种格式对比,利用高亮显示行内差…...
Vue3+element UI:使用el-dialog时,对话框不出现解决方案
解决方案:在<el-dialog>标签中,添加:append-to-body“true”*,对话框即可弹出。*...
postman调用ollama的api
按照如下设置,不需要设置key 保持长会话的方法 # 首次请求 curl http://localhost:11434/api/generate -d {"model": "deepseek-r1:32b","prompt": "请永久记住:110,1-12,之后所有数学计算必…...
PyTorch的dataloader制作自定义数据集
PyTorch的dataloader是用于读取训练数据的工具,它可以自动将数据分割成小batch,并在训练过程中进行数据预处理。以下是制作PyTorch的dataloader的简单步骤: 导入必要的库 import torch from torch.utils.data import DataLoader, Dataset定…...
如何调用 DeepSeek API:详细教程与示例
目录 一、准备工作 二、DeepSeek API 调用步骤 1. 选择 API 端点 2. 构建 API 请求 3. 发送请求并处理响应 三、Python 示例:调用 DeepSeek API 1. 安装依赖 2. 编写代码 3. 运行代码 四、常见问题及解决方法 1. API 调用返回 401 错误 2. API 调用返回…...
Hadoop-HA集群部署
集群的服务器规划: 配置免密登陆:(这里示范的是第一台服务器,其余的操作一样),免密登陆是为了执行脚本统一操作,启动,如(hdfs集群:1上启动2.5.6.7)…...
三、linux字符驱动详解
在上一节完成NFS开发环境的搭建后,本节将探讨Linux字符设备驱动的开发。字符设备驱动作为Linux内核的重要组成部分,主要负责管理与字符设备(如串口、键盘等)的交互,并为用户空间程序提供统一的读写操作接口。 驱动代码…...
【Research Proposal】基于提示词方法的智能体工具调用研究——研究问题
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | ChatGPT 文章目录 💯前言💯研究问题1. 如何优化提示词方法以提高智能体的工具调用能力?2. 如何解决提示词方法在多模态任务中的挑战?3. 如何通过提示词优化智能体…...
【从0做项目】Java文档搜索引擎(9)烧脑终章!
阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 文章导读 零:项目结果展示 一:导入 二:问题引入 1:情…...
python: SQLAlchemy (ORM) Simple example using mysql in Ubuntu 24.04
mysql sql script: create table School 表 (SchoolId char(5) NOT NULL comment主鍵primary key,學校編號,SchoolName nvarchar(500) NOT NULL DEFAULT comment 學校名稱,SchoolTelNo varchar(8) NULL DEFAULT comment電話號碼,PRIMARY KEY (SchoolId) #主…...
如何为自己的 PDF 文件添加密码?在线加密 PDF 文件其实更简单
随着信息泄露和数据安全问题的日益突出,保护敏感信息变得尤为重要。加密 PDF 文件是一种有效的手段,可以确保只有授权用户才能访问或修改文档内容。本文将详细介绍如何使用 CleverPDF 在线工具为你的 PDF 文件添加密码保护,确保其安全性。 为…...
echarts 折线图动态基准线设置超出基准线标红
基准线属性:markLine 线条标红关键属性:visualMap 小于: lt (less than) 大于:gt (greater than) 小于等于:lte (Less than or equal to) 大于等于:gte (Greater than or equal to) 1、基础应用——2条基准…...
Part 3 第十二章 单元测试 Unit Testing
概述 第十二章围绕单元测试展开,阐述了单元测试的实践与重要性,通过对比其他测试类型,突出其特点,还介绍了单元测试的最佳实践、避免的反模式以及与测试替身相关的内容,为编写高质量单元测试提供指导。 章节概要 1…...
C++与Python:两种编程语言的区别
C和Python都是当今编程领域广泛使用的语言,它们各有特色,适用于不同的开发场景。本文将从语言特性、性能、学习难度、应用领域等多个方面探讨C与Python之间的区别。 一、语言特性 类型系统: C:是一种静态类型语言…...
Springboot 高频面试题
以下是Spring Boot的高频面试题及答案和底层原理解释: 基础概念 什么是Spring Boot,其主要特点是什么? 答案: Spring Boot本质上是一个建立在Spring框架之上的快速应用开发框架。其主要特点包括: 启动器:一…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...
