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

mac m1安装homebrew管理工具(brew命令)完整流程

背景

因为mac上的brew很久没用了,版本非常旧,随着mac os的更新,本机的homebrew大部分的功能都无法使用,幸好过去通过brew安装的工具比较少,于是决定重新安装一遍brew。
在这里插入图片描述

卸载旧版brew

法一:通过使用线上的uninstall.sh卸载brew

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

报错:
curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 19 ms: Couldn't connect to server
所以采用法二。
法二:手动删除本地路径下的homebrew文件夹

rm -rf /opt/homebrew

因为本人主机是mac m1,homebrew相关软路径也保存在/opt/homebrew/bin下,已经一并删除了。

接着可以继续删除环境变量里的homebrew配置,因为本人打算安装新的homebrew,所以环境变量暂时保留。

安装新版brew

为了保证brew使用过程中的网络畅通,本次通过清华大学镜像安装。
打开网站:mirrors.tuna.tsinghua.edu.cn
搜索"homebrew"
在这里插入图片描述
网站有详细的使用镜像安装流程,总结操作步骤如下:
- 1、安装 CLT for Xcode (若未安装)

xcode-select --install 

- 2、在环境变量中设置镜像链接

vim ~/.bash_profile
# 或
vim ~/.bashrc
# 或
vim ~/.zshrc

在环境变量文件末尾添加下面几行

export HOMEBREW_INSTALL_FROM_API=1
export HOMEBREW_API_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles"
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git"

- 3、从github中clone相关的安装程序并执行

git clone https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/install.git
. install.sh

安装过程中报错,提示Ruby版本过低:
在这里插入图片描述

于是删除旧版本Ruby:

rm -rf /Users/chenzhouyuan/Library/Caches/Homebrew/portable-ruby-3.3.1.arm64_big_sur.bottle.tar.gz

重新安装,此时会自动下载适合的Ruby版本(保持网络畅通耐心等待):

. install.sh

安装成功:
在这里插入图片描述
- 4、配置brew的环境变量
(因为老版本的环境变量没有删除,直接沿用老版本的配置即可,此时不需要修改)

在这里插入图片描述

brew应用测试(安装kafka)

以安装kafka为例测试brew命令是否能够正常使用
1、安装kafka

brew install kafka

2、按需修改配置文件
对于mac m1,brew安装的工具都存放在/opt/homebrew/etc路径下

vim /opt/homebrew/etc/kafka/server.properties

3、运行kafka
zookeeper在安装kafka时已自动安装好。

brew services start zookeeper

报错,显示找不到zoo.cfg,于是通过环境变量指定zoo.cfg文件路径(本人的zoo.cfg在/opt/homebrew/etc/zookeeper/中),重新启动zookeeper

vim ~/.bash_profile # 增加export ZOOCFGDIR=......
source ~/.bash_profile
brew services restart zookeeper

在这里插入图片描述

brew services start kafka

运行测试命令:

kafka-topics  --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test3
kafka-console-producer --broker-list localhost:9092 --topic test3
kafka-console-consumer --bootstrap-server localhost:9092  --topic test3 --from-beginning

成功创建topic,生产者和消费者都没有问题
在这里插入图片描述

相关文章:

  • 【源码】2024完美运营版商城/拼团/团购/秒杀/积分/砍价/实物商品/虚拟商品等全功能商城
  • uniapp中二次封装jssdk和使用
  • 如何让你的网站能通过域名访问
  • 【数据结构】探索树中的奇妙世界
  • 断开自定义模块与自定义库的链接
  • 网易面试:手撕定时器
  • 滑动窗口模板(Java)
  • JAVA-->方法的使用详解
  • 勒索病毒的策略与建议
  • 记录使用 Vue3 过程中的一些技术点
  • 一种最大重叠离散小波包特征提取和支持向量机的ECG心电信号分类方法(MATLAB 2018)
  • 【UE5.1 角色练习】08-物体抬升、抛出技能 - part2
  • shell脚本:将一维数组以二维数组显示
  • 设计模式 18 迭代器模式 Iterator Pattern
  • 【QT八股文】系列之篇章2 | QT的信号与槽机制及通讯流程
  • avalon2.2的VM生成过程
  • C# 免费离线人脸识别 2.0 Demo
  • CSS 专业技巧
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • jQuery(一)
  • k个最大的数及变种小结
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • nfs客户端进程变D,延伸linux的lock
  • React 快速上手 - 07 前端路由 react-router
  • WePY 在小程序性能调优上做出的探究
  • 离散点最小(凸)包围边界查找
  • 普通函数和构造函数的区别
  • 如何在GitHub上创建个人博客
  • 项目实战-Api的解决方案
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • #define用法
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $.each()与$(selector).each()
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (4) PIVOT 和 UPIVOT 的使用
  • (4)Elastix图像配准:3D图像
  • (55)MOS管专题--->(10)MOS管的封装
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (Forward) Music Player: From UI Proposal to Code
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (蓝桥杯每日一题)love
  • (南京观海微电子)——I3C协议介绍
  • (十三)Maven插件解析运行机制
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (十五)使用Nexus创建Maven私服
  • (转) ns2/nam与nam实现相关的文件
  • (转)fock函数详解
  • (转)Scala的“=”符号简介
  • (转)拼包函数及网络封包的异常处理(含代码)