Mac下的Homebrew

Mac下的Homebrew

文章目录

一:安装Homebrew

1:xcode安装

对于Mac用户来说,系统自带了bash、git和curl等工具,这是安装Homebrew所必需的

但是,还需要额外安装Command Line Tools (CLT) for Xcode,以便在命令行中使用一些必要的工具。

可以通过在终端中输入xcode-select --install来安装CLT for Xcode。

2:homebrew安装

直接在终端使用国内镜像源进行安装

shell 复制代码
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
3:手动安装homebrew

1️⃣ 需要打开终端,并输入以下命令来下载Homebrew的安装脚本:

shell 复制代码
curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh -o /tmp/homebrew.sh

2️⃣ 增加执行权限

shell 复制代码
chmod +x /tmp/homebrew.sh

3️⃣ 然后执行脚本

shell 复制代码
/bin/zsh /tmp/homebrew.sh

4:软件的安装位置

  • Apple Silicon(M1, M2, M3):
    • 二进制程序: /opt/homebrew/bin
    • 库文件: /opt/homebrew/lib
    • 配置文件: /opt/homebrew/etc
    • 共享资源: /opt/homebrew/share
    • 安装的软件包本身: /opt/homebrew/Cellar 📁 (这是核心目录,每个软件一个子文件夹)
  • Intel:
    • 二进制程序: /usr/local/bin
    • 库文件: /usr/local/lib
    • 配置文件: /usr/local/etc
    • 共享资源: /usr/local/share
    • 安装的软件包本身: /usr/local/Cellar 📁 (核心目录)

二:安装实例

可以使用brew安装非常多的常用的应用,但是这里我只介绍三个,分别是:

  • python的版本管理工具:pyenv
  • java的版本管理工具:jenv
  • node和npm的版本管理工具:nvm

1:pyenv

用于管理python的版本环境和快速切换环境

bash 复制代码
brew install pyenv

# 创建缓存目录
mkdir -p ~/.pyenv/cache

# 使用 curl 下载(以 Python 3.12.0 为例)
curl -L https://mirrors.huaweicloud.com/python/3.12.0/Python-3.12.0.tar.xz -o ~/.pyenv/cache/Python-3.12.0.tar.xz

# 执行安装
pyenv install 3.12.0

# ???
# 安装 Xcode 命令行工具(弹出界面点同意)
xcode-select --install
# 通过 Homebrew 安装依赖
brew install openssl readline sqlite3 xz zlib


# 查看已安装版本
pyenv versions

# 设置全局版本
pyenv global 3.12.0
python --version  # 应输出 3.12.0

# 列出所有通过 pyenv 安装的 Python 版本及其路径
pyenv versions

# 输出示例:
* system (set by /Users/你的用户名/.pyenv/version)
  3.8.10
  3.9.5
  3.12.0

# 查看某个版本的绝对路径(例如 3.12.0)
pyenv prefix 3.12.0

# 输出示例:
/Users/你的用户名/.pyenv/versions/3.12.0

2:jenv

用于管理jdk的版本环境和快速切换环境

shell 复制代码
# 下载jdk
brew install --cask zulu@8
brew install --cask zulu@11
brew install --cask zulu@17

# 安装jenv管理工具
brew install jenv

# 配置jenv的环境变量
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
source ~/.zshrc

# 检查jdk是否在这个文件夹下
ls /Library/Java/JavaVirtualMachines/

# jdk放入jenv的管理范围
jenv add /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home

# 检查jenv管理的jdk版本有啥
jenv versions

# 检查当前环境的jdk版本
java -version

# 切换时候用
jenv global 11          # 全局默认使用 JDK 11
jenv local 1.8          # 当前目录使用 JDK 8(会生成 .java-version 文件)
jenv shell 17           # 当前 Shell 会话临时使用 JDK 17

3:nvm

用于node和npm的版本管理和快速切换

shell 复制代码
brew install nvm

# 创建必要的系统目录
mkdir -p ~/.nvm

# 添加对应的环境变量到~/.zshrc(macOS Catalina 及之后默认), 如果之前添加变量到~/.bash_profile
echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.zshrc
echo '[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"  # Load nvm' >> ~/.zshrc
echo '[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  # Load nvm completion' >> ~/.zshrc

# 刷新环境
source ~/.zshrc  # 或 source ~/.bash_profile
组件 路径
nvm 脚本 /opt/homebrew/opt/nvm/nvm.sh (Apple Silicon) /usr/local/opt/nvm/nvm.sh (Intel)
nvm 配置目录 ~/.nvm (用户主目录下)
Node.js 安装位置 ~/.nvm/versions/node (所有通过 nvm 安装的 Node 版本在此)

然后输入nvm就可以看到nvm对应的相关命令:

下面是最常用的几个

shell 复制代码
nvm install [version] # 安装指定的版本的node

nvm ls # 查看已经安装的node

nvm use 18  # 使用 v18.x 最新版

下面是注意事项📢:

  • 不要用 brew install node!这会绕过 nvm 管理,导致版本冲突。
  • 确保 ~/.nvm 路径优先级高于 Homebrew 的 node
  • nvm 是 Shell 函数而非独立程序,打开新终端时自动加载配置才能使用
  • 如果安装node时候出现网络超时,可以配置国内镜像源
shell 复制代码
# 临时切换淘宝镜像
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node
nvm install 20
相关推荐
可曾去过倒悬山4 小时前
mac操作笔记
macos
可曾去过倒悬山5 小时前
Mac上优雅简单地使用Git:从入门到高效工作流
git·elasticsearch·macos
山楂树の9 小时前
模型优化——在MacOS 上使用 Python 脚本批量大幅度精简 GLB 模型(通过 Blender 处理)
python·macos·3d·图形渲染·blender
光头才能变强11 小时前
Mac安装Navicat教程Navicat Premium for Mac v17.1.9 Mac安装navicat【亲测】
macos
Frilled Lizard15 小时前
解决mac下git pull、push需要输入密码
git·macos
0wioiw02 天前
Apple基础(Xcode①-项目结构解析)
ide·macos·xcode
名字不要太长 像我这样就好2 天前
【iOS】weak修饰符
macos·ios·objective-c·cocoa·xcode
ghostwritten2 天前
在 Mac 上用 Vagrant 安装 K8s
macos·kubernetes·vagrant
胡萝卜大王驾到通通闪开2 天前
Mac m系列芯片安装node14版本使用nvm + Rosetta 2
macos