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博客

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的几种方法和操作步骤_mac安装maven-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博客

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

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

相关文章

【Python爬虫(29)】爬虫数据生命线:质量评估与监控全解

【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取&#xff…

大模型工具大比拼:SGLang、Ollama、VLLM、LLaMA.cpp 如何选择?

简介:在人工智能飞速发展的今天,大模型已经成为推动技术革新的核心力量。无论是智能客服、内容创作,还是科研辅助、代码生成,大模型的身影无处不在。然而,面对市场上琳琅满目的工具,如何挑选最适合自己的那…

测评雷龙出品的CS SD NAND贴片式TF卡

一、前言 在现代科技飞速发展的背景下,存储解决方案的创新与进步成为了推动各行各业发展的重要力量。这篇文章讲解雷龙公司出品的CS SD NAND贴片式TF卡的深度测评。这款产品不仅以其小巧精致的设计脱颖而出,更凭借其卓越的性能和可靠性,在众…

Hadoop一 HDFS分布式文件系统

一 分布式文件存储 了解为什么海量数据需要使用分布式存储技术 100T数据太大,单台服务器无法承担。于是: 分布式服务器集群 靠数量取胜,多台服务器组合,才能Hold住,如下 分布式不仅仅是解决了能存的问题&#xff…

windows下docker使用笔记

目录 镜像的配置 镜像的拉取 推荐镜像源列表(截至2025年2月测试有效) 配置方法 修改容器名字 如何使用卷 创建不同的容器,每个容器中有不同的mysql和java版本(不推荐) 1. 安装 Docker Desktop(Win…

1005 K 次取反后最大化的数组和(贪心)

文章目录 题目[](https://leetcode.cn/problems/maximize-sum-of-array-after-k-negations/)算法原理源码总结 题目 如上图,k是取反的次数,在数组【4,-1,3】中,当k 1,把-2取反为2,和为9;在数组…

java毕业设计之医院门诊挂号系统(源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的医院门诊挂号系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 医院门诊挂号系统的主要使用者…

深入学习解析:183页可编辑PPT华为市场营销MPR+LTC流程规划方案

华为终端正面临销售模式转型的关键时刻,旨在通过构建MPRLTC项目,以规避对运营商定制的过度依赖,并探索新的增长路径。项目核心在于建设一套全新的销售流程与IT系统,支撑双品牌及自有品牌的战略发展。 项目总体方案聚焦于四大关键议…

JUC并发—8.并发安全集合一

大纲 1.JDK 1.7的HashMap的死循环与数据丢失 2.ConcurrentHashMap的并发安全 3.ConcurrentHashMap的设计介绍 4.ConcurrentHashMap的put操作流程 5.ConcurrentHashMap的Node数组初始化 6.ConcurrentHashMap对Hash冲突的处理 7.ConcurrentHashMap的并发扩容机制 8.Concu…

Cython学习笔记1:利用Cython加速Python运行速度

Cython学习笔记1:利用Cython加速Python运行速度 CythonCython 的核心特点:利用Cython加速Python运行速度1. Cython加速Python运行速度原理2. 不使用Cython3. 使用Cython加速(1)使用pip安装 cython 和 setuptools 库(2&…

DApp 开发入门指南

DApp 开发入门指南 🔨 1. DApp 基础概念 1.1 什么是 DApp? 去中心化应用(DApp)是基于区块链的应用程序,特点是: 后端运行在区块链网络前端可以是任何框架使用智能合约处理业务逻辑数据存储在区块链上 1…

基于Spring Security 6的OAuth2 系列之二十 - 高级特性--令牌交换(Token Exchange)

之所以想写这一系列,是因为之前工作过程中使用Spring Security OAuth2搭建了网关和授权服务器,但当时基于spring-boot 2.3.x,其默认的Spring Security是5.3.x。之后新项目升级到了spring-boot 3.3.0,结果一看Spring Security也升级…

瑞芯微RV1126部署YOLOv8全流程:环境搭建、pt-onnx-rknn模型转换、C++推理代码、错误解决、优化、交叉编译第三方库

目录 1 环境搭建 2 交叉编译opencv 3 模型训练 4 模型转换 4.1 pt模型转onnx模型 4.2 onnx模型转rknn模型 4.2.1 安装rknn-toolkit 4.2.2 onn转成rknn模型 5 升级npu驱动 6 C++推理源码demo 6.1 原版demo 6.2 增加opencv读取图片的代码 7 交叉编译x264 ffmepg和op…

【开源】编译器,在线操作

目录 1. 思绪思维导图:simple mind map2. Markdown:md-editor-v33. 文档:wangEditor4. 电子表格:Luckysheet5. 幻灯片:PPTist6. 白板:excalidraw7. 流程图:drawio 1. 思绪思维导图:…

跳表(Skip List)详解

一、什么是跳表? 跳表是一种基于有序链表的高效数据结构,通过建立多级索引实现快速查询。它在平均情况下支持O(log n)时间复杂度的搜索、插入和删除操作,性能接近平衡树,但实现更为简单。 二、核心原理 1. 层级结构 底层为完整…

【Quest开发】全身跟踪

软件:Unity 2022.3.51f1c1、vscode、Meta XR All in One SDK V72 硬件:Meta Quest3 最终效果:能像meta的操作室沉浸场景一样根据头盔移动来推断用户姿势,实现走路、蹲下、手势匹配等功能 需要借助UnityMovement这个包 GitHub …

25年2月通信基础知识补充:多普勒频移与多普勒扩展、3GPP TDL信道模型

看文献过程中不断发现有太多不懂的基础知识,故长期更新这类blog不断补充在这过程中学到的知识。由于这些内容与我的研究方向并不一定强相关,故记录不会很深入请见谅。 【通信基础知识补充7】25年2月通信基础知识补充1 一、多普勒频移与多普勒扩展傻傻分不…

栈,优先级队列,map,set

文章目录 栈题目解析代码 优先级队列题解代码 map题解代码 set题解代码 栈 题目解析 1.先把元素push进栈中&#xff0c;如果栈非空并且栈中的元素按顺序和k相等就出栈&#xff0c;直到栈为空或者k ! sk.top() 代码 #include<iostream> #include<stack> #include&l…

Linux探秘坊-------4.进度条小程序

1.缓冲区 #include <stdio.h> int main() {printf("hello bite!");sleep(2);return 0; }执行此代码后&#xff0c;会 先停顿两秒&#xff0c;再打印出hello bite&#xff0c;但是明明打印在sleep前面&#xff0c;为什么会后打印呢&#xff1f; 因为&#xff…

Redis的预备知识

1.Redis的基本全局命令 Redis有多种数据结构&#xff0c;但它们都是键值对的&#xff0c;对于与键来说有一些通用的命令 1.1 KEYS 返回所有满足样式&#xff08;pattern&#xff09;的key 假定当前具有以下value值&#xff1a;hllo&#xff0c;hello&#xff0c;hallo&…