当前位置: 首页 > article >正文

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

参考文档:

  1. 【学习笔记】mac安装maven与idea自带maven_mac mvn-CSDN博客
  2. 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…...

交换机基本命令

目录 一、华为交换机基本命令 1、VRP视图层 2、命令帮助 3、配置设备名称 4、命令等级(一般生产过程没有下面的详细) 5、用户界面 6、配置Console认证 控制台接口(Console) 配置步骤示例 7、配置VTY登录(本文…...

PLC通信交互系统技术分享

目录 0、前言 1、模块划分 2、状态机 3、通信层增强 4、异常处理机制 5、核心代码 关键状态处理示例 6、部署与测试方案 1. 环境要求 2. 性能测试指标 0、前言 这是一个C程序,用于与西门子PLC进行通信,处理SN码、拍照信号、检测结果等流程。代码…...

PHP图书借阅小程序源码

📚 图书借阅小程序:一键开启智慧阅读新篇章 🌟 这是一款由ThinkPHP与UniApp两大技术巨擘强强联手精心打造的图书借阅微信小程序,它犹如一座随身携带的移动图书馆,让您无论身处何地都能轻松畅游知识的海洋。创新的多书…...

本地部署 DeepSeek + Dify,构建自己的AI能力

概述 DeepSeek 是一款开创性的开源大语言模型,凭借其先进的算法架构和反思链能力,为 AI 对话交互带来了革新性的体验。通过私有化部署,你可以充分掌控数据安全和使用安全。你还可以灵活调整部署方案,并实现便捷的自定义系统。 Dify 作为同样开源的 AI 应用开发平台,提供完…...

UE 播放视频

一.UI播放视频 1.导入视频文件至工程文件夹 2.文件夹内右健选择Media -> File Meida Source创建testFileMeidaSource文件。 编辑FilePath为当前视频 3.右键->Media->Media Player 创建testMediaPlayer文件 4.右键创建testMediaTexture。编辑MediaPlayer设置testMedia…...

拦截器VS过滤器:Spring Boot中请求处理的艺术!

目录 一、拦截器(Interceptor)和过滤器(Filter):都是“守门员”!二、如何实现拦截器和过滤器?三、拦截器和过滤器的区别四、执行顺序五、真实的应用场景六、总结 🌟如果喜欢作者的讲…...

科普:“Docker Desktop”和“Docker”以及“WSL”

“Docker Desktop”和“Docker”这两个概念既有紧密联系,又存在一定区别: 一、联系 核心功能同源:Docker Desktop 本质上是基于 Docker 核心技术构建的。Docker 是一个用于开发、部署和运行应用程序的开源平台,它利用容器化技术…...

react实例与总结(二)

目录 一、脚手架基础语法(16~17) 1.1、hello react 1.2、组件样式隔离(样式模块化) 1.3、react插件 二、React Router v5 2.1、react-router-dom相关API 2.1.1、内置组件 2.1.1.1、BrowserRouter 2.1.1.2、HashRouter 2.1.1.3、Route 2.1.1.4、Redirect 2.1.1.5、L…...

巧用GitHub的CICD功能免费打包部署前端项目

近年来,随着前端技术的发展,前端项目的构建和打包过程变得越来越复杂,占用的资源也越来越多。我有一台云服务器,原本打算使用Docker进行部署,以简化操作流程。然而,只要执行sudo docker-compose -f deploy/…...

使用 DeepSeek 生成商城流程图

步骤 1.下载 mermaid 2.使用 DeepSeek 生成 mermaid 格式 3.复制内容到 4.保存备用。 结束。...

Unity FBXExport导出的FBX无法在Blender打开

将FBX转换为obj: Convert 3D models online - free and secure...

VSCode自定义快捷键和添加自定义快捷键按键到状态栏

VSCode自定义快捷键和添加自定义快捷键按键到状态栏 📄在VSCode中想实现快捷键方式执行某些指令操作,可以通过配置组合式的键盘按键映射来实现,另外一种方式就是将执行某些特定的指令嵌入在面板菜单上,在想要执行的时候&#xff0…...

hive迁移补数脚本细粒度 表名-分区唯一键

假设我通过对数脚本发现,这些表对不上。 假设检测出来是这样的(这些表存在于源端,但不存在目标端) 我们需要从源端迁移过去。 diff.txt ads_xx1 dt20250219 ads_xx2 dt20250217 ads_xx2 dt20250218 ads_xx2 dt20250…...

SpringSecurity基于配置方法控制访问权限:MVC匹配器、Ant匹配器

Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架。在 Spring Security 中,可以通过配置方法来控制访问权限。认证是实现授权的前提和基础,在执行授权操作前需要明确目标用户,只有明确目标用户才能明确它所具备的角色和权…...

Ubuntu22.04 - gflags的安装和使用

目录 gflags 介绍gflags 安装gflags 使用 gflags 介绍 gflags 是Google 开发的一个开源库,用于 C应用程序中命令行参数的声明、定义和解析。gflags 库提供了一种简单的方式来添加、解析和文档化命令行标志(flags),使得程序可以根据不同的运行时配置进行调整。 它具…...

java | MyBatis-plus映射和golang映射对比

文章目录 Java实体类和数据库的映射1.默认驼峰命名规则2.自定义字段映射3.关闭驼峰命名规则4.JSON序列化映射 Golang1. 结构体与表的映射2. 字段与列的映射3. 关联关系映射4. 其他映射相关标签 这篇也是做数据库映射方面的对比: Java 实体类和数据库的映射 1.默认…...

使用 Redis 实现 RBAC 权限管理

1. 什么是 RBAC? RBAC(Role-Based Access Control,基于角色的访问控制)是一种常见的权限管理模型,它通过用户(User)、角色(Role)、权限(Permission&#xff…...

正则表达式–断言

原文地址:正则表达式–断言 – 无敌牛 欢迎参观我的个人博客:正则表达式特殊字符 – 无敌牛 断言assertions 1、(?...):正向预查(positive lookahead),表示某个字符串后面应该跟着什么。但这个字符串本身…...

Python常见面试题的详解14

1. 从变量 A 中匹配 JSON 字符串 在处理文本数据时,有时需要从变量里找出其中的 JSON 字符串。JSON 字符串一般以 { 或 [ 开头,以 } 或 ] 结尾,但简单的正则匹配可能不够严谨,所以还需用 json 模块进行验证。 要点 利用正则表达…...

电脑想安装 Windows 11 需要开启 TPM 2.0 怎么办?

尽管 TPM 2.0 已经内置在许多新电脑中,但很多人并不知道如何激活这一功能,甚至完全忽略了它的存在。其实,只需简单的几步操作,你就能开启这项强大的安全特性,为你的数字生活增添一层坚固的防护屏障。无论你是普通用户还…...

QT之改变鼠标样式

QT改变鼠标图片 资源路径如下 代码实现 QPixmap customCursorPixmap(":/images/mouse.png");QCursor customCursor(customCursorPixmap);QWidget::setCursor(customCursor); // 可以设置为整个窗口或特定控件QWidget::setCursor(); // 设置为透明光标&#xff0c…...

Node IO操作

文章目录 Node IO操作概述流的基本类型可读流读取模式可读流状态创建可读流使用可读流暂停和恢复绑定可写流 可写流创建可写流使用可写流关闭流缓冲数据 可读可写流转换流 Node IO操作 概述 在 Node.js 中,I/O(输入/输出)操作是异步的&…...

零基础进阶人工智能——发展史、核心技术、前沿应用与未来展望

引言:从科幻走向现实,人工智能不再遥远 人工智能(AI),曾经是科幻小说和电影中遥不可及的未来科技,如今已悄然渗透到我们生活的方方面面。从智能家居的语音助手,到医疗诊断的辅助系统&#xff0…...

ue----git局域网内部署裸仓库,别的机器进行访问

最近由于经常迁移项目到另一台机器上进行部署更新一点就要整个迁移 弄得麻烦了 就在网上学了一下这个方式 首先我们在想要建立裸仓库的电脑上找到一个文件夹放置我们的裸仓库 在此点击鼠标右键选择 open git bash here 输入命令 创裸仓库 git init --bare gitTestName.git…...

三、tsp学习笔记——屏幕移植

泰山派-6寸猫屏转接板 - 立创开源硬件平台 泰山派樱猫的教程,屏资料链接: https://pan.baidu.com/s/1pNAKH33r7LtZG6EwHJ-HNA?pwdnsde 提取码: nsde (不要浪费时间下载,没有用,下载gitee上的) leefei/tspi-disp-6…...

vue3-05reactive定义对象类型的响应式数据(不能进行基本类型数据的响应式)

1.前言 reactive定义对象类型的响应式数据(不能进行基本类型数据的响应式) 2.实践 2.1语法 const 代理对象 reactive(源对象) 接收一个对象(或数组)&#xff0c;返回一个代理对象 (Proxy的实例对象&#xff0c;简称proxy对象) <script> import { reactive } from &qu…...

PaddlePaddle的OCR模型转onnx-转rknn模型_笔记4

一、PaddlePaddle的OCR模型转onnx 1、首先建立一个新的虚拟环境 conda create -n ppocr python3.10 -y conda activate ppocr 2、进入paddlepaddle官网输入以下指令安装paddlepaddle GPU版本 &#xff08;我的cuda版本是11.8,根据你电脑装合适版本&#xff09; pip instal…...

DeepSeek与ChatGPT的对比分析

一 概述 1 DeepSeek DeepSeek是杭州深度求索&#xff08;DeepSeek&#xff09;官方推出的AI助手&#xff0c;免费体验与全球领先AI模型的互动交流。总参数达到6710亿的DeepSeek-V3大模型&#xff0c;多项性能指标对齐海外顶尖模型&#xff0c;用更快的速度、更加全面强…...

OpenAI Swarm 多智能体框架介绍

目录 一、什么是 Swarm &#xff1f; 二、Swarn 使用方法 2.1 安装依赖 2.2 实例 本篇文章主要介绍下 OpenAI Swarm 多智能体框架。 一、什么是 Swarm &#xff1f; Swarm 是 OpenAI 开源的一款多智能体框架&#xff0c;但 OpenAI 对 Swarm 的定位是教育性、实验性的框架&…...