第一次使用mac,安装java相关的东西

第一次使用过程

一、安装Homebrew

1.1 什么是 Homebrew?

Homebrew 是 macOS(以及 Linux)上最流行的包管理器(Package Manager)。它的口号是 "The Missing Package Manager for macOS"(macOS 缺失的包管理器)。

在 Windows 上,我们习惯下载安装包(.exe/.msi)双击安装;而在 macOS/Linux 的开发者生态中,通过命令行工具来管理软件更加高效。Homebrew 的作用就是简化这一过程:

  • 自动化安装:一键下载、编译、安装软件及其依赖库。
  • 版本管理:轻松安装、切换或卸载不同版本的软件(如 Python 3.9, Node.js 18 等)。
  • 集中管理:所有通过 Homebrew 安装的软件都集中在统一目录,方便维护和卸载。
  • 社区驱动:拥有庞大的社区维护仓库(formulae),涵盖了从开发工具(Git, GCC)到日常应用(Chrome, VS Code)的数千种软件。

核心概念

  • Formula (配方):描述如何构建和安装某个软件的脚本(通常是一个 Ruby 文件)。
  • Keg (酒桶) :软件实际安装到的目录(例如 /opt/homebrew/Cellar/git/2.40.1)。
  • Cellar (酒窖):存放所有 Keg 的根目录。
  • Bottle (瓶子):预编译好的二进制安装包。使用 Bottle 可以避免本地编译,极大提升安装速度。

1.2 安装 Homebrew (优化版)

由于官方源服务器位于海外,国内用户直接安装往往速度极慢甚至失败。强烈建议在安装前配置国内镜像(如您提供的清华大学镜像)。

第一步:设置国内镜像环境变量

在终端(Terminal)中执行以下命令,将下载源指向清华大学开源软件镜像站:

shell 复制代码
# 设置 brew  git 仓库地址
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"

# 设置 homebrew-core 公式仓库地址
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git"

# 设置二进制包下载域名
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles"

# 可选:加速 API 请求 (针对较新版本的 brew)
export HOMEBREW_API_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api"

注意 :以上命令仅在当前终端会话有效。如果希望永久生效,请将上述 export 语句添加到您的 shell 配置文件末尾(Intel 芯片 Mac 通常是 ~/.zprofile~/.bash_profile,M1/M2/M3 芯片 Mac 通常是 ~/.zprofile)。

永久生效操作示例:

shell 复制代码
echo 'export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"' >> ~/.zprofile
echo 'export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git"' >> ~/.zprofile
echo 'export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles"' >> ~/.zprofile
source ~/.zprofile

第二步:执行安装脚本

配置好镜像后,运行官方安装脚本。脚本会自动检测您的芯片架构(Intel 或 Apple Silicon)并安装到正确的位置。

bash 复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装过程中的注意事项:

  1. 密码输入:脚本可能会提示输入您的 macOS 登录密码(输入时屏幕不会显示字符),这是为了获取 sudo 权限创建必要的目录。

  2. 路径确认

    • Apple Silicon (M1/M2/M3) : 默认安装在 /opt/homebrew
    • Intel Mac : 默认安装在 /usr/local
  3. 后续配置

    :安装完成后,终端通常会提示您运行几条命令以将 Homebrew 添加到系统路径(PATH)。

    请务必执行这些命令

    ,否则终端无法识别

    复制代码
    brew

    命令。

    • 例如:echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile 然后执行 eval "$(/opt/homebrew/bin/brew shellenv)"

第三步:验证安装

输入以下命令检查是否安装成功及版本信息:

bash 复制代码
brew --version
brew doctor
  • brew doctor 是一个非常实用的命令,它会检查您的环境是否存在潜在问题(如路径冲突、未完成的安装等),并按照提示修复即可。

1.3 Homebrew 常用命令速查

安装完成后,您就可以像使用 App Store 一样通过命令行管理软件了。

基础操作

功能 命令示例 说明
搜索软件 brew search <关键词> 查找可用的公式,如 brew search python
查看信息 brew info <软件名> 查看版本、依赖、简介等详细信息
安装软件 brew install <软件名> 安装软件及其依赖,如 brew install git
卸载软件 brew uninstall <软件名> 移除已安装的软件
更新列表 brew update 更新 Homebrew 自身及公式列表(不升级已装软件)
升级软件 brew upgrade 将所有已安装的软件升级到最新版
升级指定 brew upgrade <软件名> 仅升级指定的软件
清理缓存 brew cleanup 删除旧版本的软件残留,释放磁盘空间

进阶操作

  • 安装特定版本

    Homebrew 默认只保留最新版本。若需安装旧版,通常需要搜索历史版本或使用 homebrew/versions 仓库(部分软件支持 brew install <软件>@<版本>,如 brew install python@3.9)。

  • 安装图形界面应用 (Cask)

    Homebrew 不仅支持命令行工具,还支持安装 .dmg.pkg 格式的图形化应用(如 Chrome, Zoom, VS Code)。这被称为 Cask

    bash 复制代码
    # 搜索应用
    brew search --casks chrome
    
    # 安装应用
    brew install --casks google-chrome
    brew install --casks visual-studio-code
  • 列出已安装内容

    bash 复制代码
    brew list          # 列出命令行工具
    brew list --casks  # 列出图形化应用

1.4 常见问题与维护建议

Q1: 为什么 brew update 很慢?

A: 即使设置了镜像,有时网络波动也会导致 Git 拉取缓慢。如果遇到卡顿,可以再次确认环境变量是否生效,或者尝试手动重置远程仓库:

bash

复制代码
cd $(brew --repo)
git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
cd $(brew --repo)/Library/Taps/homebrew/homebrew-core
git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git

Q2: 权限错误 (Permission Denied) 怎么办?

A : 尽量避免直接使用 sudo brew install。正确的做法是修改 Homebrew 安装目录的所有者为您当前用户:

  • Apple Silicon : sudo chown -R $(whoami) /opt/homebrew
  • Intel Mac : sudo chown -R $(whoami) /usr/local
    然后再运行 brew doctor 检查。

Q3: 如何备份已安装的软件列表?

A: 在重装系统或迁移到新电脑前,可以导出列表:

bash 复制代码
brew bundle dump --file=./Brewfile

在新电脑上恢复只需运行:

shell 复制代码
brew bundle install --file=./Brewfile

(注:这需要先安装 brew install bundler 相关的扩展,通常现代 brew 版本已内置 bundle 命令支持)


1.5 总结

Homebrew 是 macOS 开发者的神兵利器。通过配置国内镜像,您可以获得流畅的安装体验。掌握 install, update, upgrade, cleanup 以及 --casks 用法,将极大地提升您在 Mac 上的工作效率,让您从繁琐的"下载 - 拖拽 - 配置"中解放出来,专注于代码本身。

二、安装git

bash 复制代码
brew install git

三、idea配置git

如图,自动关联了,不用自己配置。

四、查看idea是否已成功激活?

  1. 打开 IntelliJ IDEA。
  2. 点击屏幕左上角菜单栏的 IntelliJ IDEA
  3. 选择 About IntelliJ IDEA... (关于 IntelliJ IDEA)。

五、安装openjdk1.8

用brew安装不了,因为已经不提供;

提供管理多版本的jdk设置,我还没使用,下次用的的时候用:

https://www.qianwen.com/chat/a5f838addfc7493ca054666feea74ae4

我们选择zulu提供的jdk8版本:

java 复制代码
brew install --cask zulu@8

配置环境变量:

java 复制代码
echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)' >> ~/.zshrc
java 复制代码
 source ~/.zshrc

六、安装maven

6.1 方案一:使用 Homebrew 安装

bash 复制代码
brew install maven

因为它会安装openjdk25,所以我没有用这种方式。

6.2 方案二:官网下载并配置全局 Maven 环境

本方案适用于无法使用 Homebrew 或需要指定特定 Maven 版本的场景。我们将通过全局配置 的方式,确保 Maven 对系统上的所有用户 (包括未来新建的用户)均有效,无需在每个用户的 .zshrc.bash_profile 中重复配置。

6.2.1 下载 Maven

  • 打开 Maven 官网

  • 下载最新版本的 bin.tar.gz 文件。

  • 打开终端,将下载的文件解压并移动到 /usr/local/maven 目录:

bash 复制代码
# 1. 创建目标目录(如果不存在)
sudo mkdir -p /usr/local/maven

# 2.移动到/usr/local/maven/ 路径
sudo mv ~/Downloads/apache-maven-<版本号> /usr/local/maven/
  
# 3.解压
sudo tar -xzf apache-maven-<版本号>-bin.tar.gz -C /usr/local/maven

6.2.2 配置全局环境变量

为了让所有用户都能直接使用 mvn 命令,我们采用 macOS 推荐的 /etc/paths.d/ 机制进行全局配置,而不是修改单个用户的配置文件。

6.2.2.1 配置环境变量(只针对当前用户)-我没采用这种方式
  1. 如果你想配打开终端,编辑环境变量文件(根据使用的 Shell 类型选择文件):
bash 复制代码
nano ~/.bash_profile # 如果使用 bash
# 或者用这个
nano ~/.zshrc # 如果使用 zsh(我的电脑用的是这个)
  1. 在文件末尾添加以下内容:
bash 复制代码
export MAVEN_HOME=/usr/local/maven/apache-maven-<版本号>

export PATH=$PATH:$MAVEN_HOME/bin
  1. 保存文件后,运行以下命令使配置生效:
bash 复制代码
source ~/.bash_profile # 或 source ~/.zshrc

4.验证安装

在终端输入以下命令检查 Maven 是否正确安装:

bash 复制代码
mvn -v

如果显示 Maven 的版本信息,则说明安装成功。

最后配置环境,我没有用nano ~/.zshrc 的方式,因为它是对当前用户有效,我想试一下全局配置。

6.2.2.2 配置全局环境变量

为了让所有用户都能用,我们需要编辑全局配置文件 /etc/paths.d/maven (推荐方式) 或者 /etc/profile。推荐新建一个独立文件,方便管理。

  1. 创建全局路径配置文件:

    bash 复制代码

sudo nano /etc/paths.d/maven

复制代码
2. 在打开的编辑器中,输入以下一行内容(注意是 bin 目录的路径):

```text
/usr/local/maven/apache-maven-3.9.9/bin
  1. 保存退出:

    • Ctrl + O,然后回车。
    • Ctrl + X

(注:这种方式会自动添加到所有新打开的终端窗口的 PATH 中,无需修改每个用户的 .zshrc)

另:

只要你用 brew install 安装了软件,这台电脑上的所有用户(包括未来新建的用户)都可以直接使用该软件,不需要每个用户单独安装或配置。

所以以后配置环境参数,还说要配置到全局配置,保持一致。

七、idea配置jdk与maven

7.1 配置jdk

7.2 配置maven

八、激活typore

https://jishuzhan.net/article/1975412870885212161

九、安装python

9.1 安装

bash 复制代码
# 安装Python 3.12
brew install python@3.12 

# 链接到系统路径
brew link python@3.12 

# 验证安装
python3 --version

详情请看这篇文章:

https://www.trae.cn/article/3133510146

brew link python@3.12 的核心作用是:将 Homebrew 安装的 Python 3.12 的可执行文件"暴露"给你的系统终端,让你可以直接输入 python3pip3 来使用它。

通俗解释

当你运行 brew install python@3.12 时,Homebrew 会把 Python 的文件安装到一个隐蔽的仓库目录 里(通常是 /opt/homebrew/Cellar/python@3.12/.../usr/local/Cellar/...)。

此时,虽然文件都在你电脑上了,但你的终端(Terminal)找不到 它们。如果你直接输入 python3,系统可能还是调用旧版本的 Python,或者提示"命令未找到"。

运行 brew link python@3.12 后,它会:

  1. 在系统的公共路径(如 /opt/homebrew/bin/usr/local/bin)中创建软链接(快捷方式)
  2. 这些快捷方式指向那个隐蔽仓库里的真实文件。
  3. 因为公共路径已经在你的环境变量 $PATH 中,所以现在你在终端任何地方输入 python3,系统就能顺着快捷方式找到并运行 Python 3.12 了。

9.3 验证安装

发现系统的python说3.9.6,与我安装的不符呀。

那么系统之前可能已经安装了python。

我现在要做的是把系统路径换成python 3.12版本。

9.4 设置python系统路径

方案一:

bash 复制代码
echo 'export PATH="/opt/homebrew/opt/python@3.12/bin:$PATH"' >> ~/.zshrc

方案二:

bash 复制代码
export PATH="/opt/homebrew/bin:$PATH" >> ~/.zshrc

方案一、方案二都没有用,python3 --version的版本还是3.9.6。

执行一下命令which python3:

证明之前系统已经有python 环境了!!!那么我就卸载我刚刚安装的python3.12的环境吧。

9.5 卸载Python 3.12

第一步:卸载 Homebrew 安装的 Python 3.12

bash 复制代码
# 1. 卸载主程序
brew uninstall python@3.12 

# 2. 清理残留的依赖包和缓存 (重要!)
brew cleanup python@3.12

第二步清理配置文件 ( ~/.zshrc)

bash 复制代码
sed -i '' '/python@3.12/d' ~/.zshrc

第三步:清理可能存在的其他残留链接

bash 复制代码
# 检查并删除可能残留的 python3.12 相关链接
rm -f /opt/homebrew/bin/python3.12
rm -f /opt/homebrew/bin/pip3.12
# 注意:不要直接删 /opt/homebrew/bin/python3,除非你确定它只指向 3.12
相关推荐
小小小米粒3 小时前
CSV 是什么?
python
阿kun要赚马内3 小时前
Python五类数据容器的对比和通用方法
开发语言·python
波波0073 小时前
每日一题:请解释.NET 中的泛型约束是什么
java·面试·.net
好家伙VCC3 小时前
# 发散创新:用 Rust 实现高性能事件驱动架构的实践与优化 在现代软件系统中,**事件驱动编程模型**已经成为构
java·开发语言·python·架构·rust
梦醒过后说珍重3 小时前
Python 工程化实战:如何将复杂的EndoMamba感知损失封装为“即插即用”的独立模块包
python·深度学习
爱钓鱼的程序员小郭3 小时前
阿里云自动配置安全组IP白名单
python·tcp/ip·安全·阿里云
金銀銅鐵3 小时前
[Java] 如何自动生成简单的 PlantUML 类图
java·后端
梦醒过后说珍重3 小时前
PyTorch 工程实践:如何优雅地将 ViT 大模型封装为即插即用的感知损失(Perceptual Loss)
python·深度学习
Edward111111113 小时前
3月23Math类,Arrays类
java·学习