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

Mac下的Homebrew

Mac下的Homebrew

文章目录

  • Mac下的Homebrew
    • 一:安装Homebrew
      • 1:xcode安装
        • 2:homebrew安装
        • 3:手动安装homebrew
      • 4:软件的安装位置
    • 二:安装实例
      • 1:pyenv
      • 2:jenv
      • 3:nvm

一:安装Homebrew

1:xcode安装

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

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

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

2:homebrew安装

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

/bin/zsh -c “$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)
3:手动安装homebrew

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

curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh -o /tmp/homebrew.sh

2️⃣ 增加执行权限

chmod +x /tmp/homebrew.sh

3️⃣ 然后执行脚本

/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的版本环境和快速切换环境

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.103.9.53.12.0# 查看某个版本的绝对路径(例如 3.12.0)
pyenv prefix 3.12.0# 输出示例:
/Users/你的用户名/.pyenv/versions/3.12.0

2:jenv

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

# 下载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的版本管理和快速切换

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对应的相关命令:

下面是最常用的几个

nvm install [version] # 安装指定的版本的nodenvm ls # 查看已经安装的nodenvm use 18  # 使用 v18.x 最新版

下面是注意事项📢:

  • 不要用 brew install node!这会绕过 nvm 管理,导致版本冲突。
  • 确保 ~/.nvm 路径优先级高于 Homebrew 的 node
  • nvm 是 Shell 函数而非独立程序,打开新终端时自动加载配置才能使用
  • 如果安装node时候出现网络超时,可以配置国内镜像源
# 临时切换淘宝镜像
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node
nvm install 20
http://www.dtcms.com/a/306164.html

相关文章:

  • 《Sentinel服务保护实战:控制台部署与SpringCloud集成指南》
  • Docker-01.Docker课程介绍
  • 【异世界历险之数据结构世界(冒泡、选择、快速排序)】
  • OpenCV图像缩放:resize
  • 【c++】leetcode763 划分字母区间
  • Ganttable 时间仪表盘
  • java~单例设计模式
  • 小架构step系列30:多个校验注解
  • 「Linux命令基础」压缩文件
  • ica1靶机攻略
  • iOS电池寿命与App能耗监测实战 构建完整性能监控系统
  • MSVC编译KDChart过程
  • IFCVF驱动+vhost-vfio提高虚拟机网络性能
  • BWCTAKC11X64G佰维/BIWIN存储容量为64GB
  • Java内存模型(JMM)
  • 制作一款打飞机游戏84:游戏视觉优化
  • 创建型设计模式-单例模式
  • Django模型关系:从一对多到多对多全解析
  • JSON.parse解析大整数踩坑
  • 9.项目起步(3)
  • ETCD学习之路
  • 代码随想录算法训练营第三十六天
  • 微软 Power Platform 使用Power Automate自动添加用户到AD域环境并分配环境角色
  • 「源力觉醒 创作者计划」_文心大模型 4.5 开源 28 天:从车间轴承到山村课堂的 AI 突围
  • 硬件电路设计(基本元器件)
  • 微信小程序苹果手机和安卓,怎么做适配
  • 链游与传统游戏的区别
  • 2025年自动化工程与计算机网络国际会议(ICAECN 2025)
  • TypeScript:前端语言,后端哲学
  • 桶排序-Java实现