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,生产者和消费者都没有问题
在这里插入图片描述

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

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

相关文章

【面试】谈谈你对jvm的认识

目录 1. 说明2. 定义3. 特性3.1 平台无关性3.2 基于栈的虚拟机3.3 符号引用3.4 垃圾回收机制 4. 工作原理5. 调优策略 1. 说明 1.是Java技术的核心组件之一。2.负责运行Java程序。3.对JVM的认识,包括其定义、特性、工作原理和调优策略等方面的内容。 2. 定义 1.J…

力扣:104. 二叉树的最大深度

104. 二叉树的最大深度 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例 2: 输入&#xff1a…

如何让centOS开机后自动执行某些命令

可以通过创建一个 systemd 服务单元文件来实现 centOS 开机后自动执行这几句命令。下面是具体步骤: 创建一个 shell 脚本,包含你要执行的命令: #!/bin/bash source /opt/server/Search-Server/venv/bin/activate cd /opt/server/Search-Serve…

C++语言·list链表(下)

还是之前说的,因为要写模板,为了避免链接出现问题,我们将所有内容都写到一个文件中去。首先就是画出链表的框架 链表本身只需要一个头节点就足以找到整条链表,而需要它拼接的节点我们再写一个模板。而我们知道list是一个带头双向循…

Verilog HDL基础知识(一)

引言:本文我们介绍Verilog HDL的基础知识,重点对Verilog HDL的基本语法及其应用要点进行介绍。 1. Verilog HDL概述 什么是Verilog?Verilog是IEEE标准的硬件描述语言,一种基于文本的语言,用于描述最终将在硬件中实现…

数据库设计实例---学习数据库最重要的应用之一

一、引言【可忽略】 在学习“数据库系统概述”这门课程时,我一直很好奇,这样一门必修课,究竟教会了我什么呢? 由于下课后,,没有拓展自己的眼界,上课时又局限于课堂上老师的讲课水平,…

探索数组处理:奇数的筛选与替换

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、数组中的奇数筛选 二、将奇数替换为负一 总结 一、数组中的奇数筛选 在处理数组数据时…

自定义窗口事件循环系统

1.定义事件类型,mouse,wheel,drag,view。已处理的事件,accept需设置为true,防止重叠热区继续穿透。记录事件生成时间,全局位置和当前帧窗口下位置。 2.定义事件响应系统interactionSystem&…

【Qt】初识

一、使用Label显示Hello World 1.ui设计 可以在Qt Designer中拖拽方式进行创建 2.代码方式 在myqwidget.cpp文件中添加下列代码 二、对象树 我们在堆上创建了QLabel类的对象。但是我们没有去delete,这样会产生内存泄漏吗? 答案是不会。label对象会在…

ChatGPT的基本原理是什么?又该如何提高其准确性?

在深入探索如何提升ChatGPT的准确性之前,让我们先来了解一下它的工作原理吧。ChatGPT是一种基于深度学习的自然语言生成模型,它通过预训练和微调两个关键步骤来学习和理解自然语言。 在预训练阶段,ChatGPT会接触到大规模的文本数据集&#x…

输入输出(1)——C++的输入输出概述

目录 一、C的输入输出 (一) C的输入输出 (二)C语言的scanf和printf 二、C的输入输出流 (一) iostream类库中有关的类 (二) iostream.h头文件的流对象和重载运算符 一、C的输入输出 (一) C的输入输出 之前用到的输入输出,都是以终端…

在做题中学习(62):矩阵区域和

1314. 矩阵区域和 - 力扣(LeetCode) 解法:二维前缀和 思路:读题画图才能理解意思:dun点点的是mat中的一个数,而要求的answer同位置的数 以点为中心上下左右延长 k 个单位所围成长方形的和。 因为最后answ…

IPV4地址介绍

4.1IP地址简介 目前的全球因特网所采用的协议族是TCP/IP协议族。IP是TCP/IP协议族中网络层的协议,是TCP/IP协议族的核心协议。IP协议定义了一种地址编码,称为IP地址,它是网络中网络段、网络设备接口、主机的编码,它并不是一种物理…

【 Quartz框架中各个表及其字段含义】

Quartz框架中各个表及其字段含义 Quartz是一个强大的任务调度框架,它通过在数据库中维护多张表来存储和管理任务信息。了解这些表的结构和字段含义,有助于我们更好地理解Quartz的工作原理,并在实际应用中进行有针对性的优化和管理。 想了解Quartz框架其他信息可以参考下面的博…

Linux离线一键安装Docker及docker-compose环境

背景: 在当前软件部署运维环境中由于Docker容器化优势越来越明显,因些被许多公司运维所采用,那首先如何快速安装Docker及docker-compose基础环境就第一时间被人们关注,本人同样在经过多次手工逐条用命令安装的过程,整理…

基于51单片机的温湿度控制系统

一.硬件方案 本设计采用51单片机每2秒钟从DHT11温湿度传感器中读入温度和湿度,在液晶屏上即时显示。液晶屏上同时显示温湿度上限值,该上限值保存外外部EEPROM存储器中,掉电不失,并且可以通过四只按键上调或下调。当温度或湿度值超…

[猫头虎分享21天微信小程序基础入门教程]第21天:小程序的社交分享与消息推送

[猫头虎分享21天微信小程序基础入门教程]第21天:小程序的社交分享与消息推送 第21天:小程序的社交分享与消息推送 📲 自我介绍 大家好,我是猫头虎,一名全栈软件工程师。今天我们继续微信小程序的学习,重…

vue项目部署二级目录访问时的nginx环境刷新404问题

location / {root D:/bunkerSystem/admin/;index index.html;try_files $uri $uri/ /mixing-admin/index.html;}

MySQL8.0.35简介

MySQL 8.0.35 是 MySQL 数据库管理系统的一个具体版本,该版本包含了多种特性和改进。以下是关于 MySQL 8.0.35 的主要信息,包括其发布背景、性能提升、以及安装和配置的相关内容: 1. 发布背景 MySQL 8.0 系列自 2017 年起开始开发&#xff…

MQ第②讲~保证消息可靠性

前言 上一讲我们讲了MQ实际工作中常见的应用场景,这一节讲一下消息的可靠性,如果对MQ掌握程度比较高的铁子,可以不用看,节省您宝贵的时间。 消息的大致链路 消息从投递到消费需要考虑如下几个问题 生产者的消息是否成功投递到消…