【Mac】Homebrew
1、Homebrew 简介
官网地址:https://brew.sh
Homebrew 是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。
Homebrew 主要有四个部分组成: brew、homebrew-core 、homebrew-bottles、homebrew-cask。
源 | 说明 |
---|---|
brew | Homebrew 源代码仓库 |
homebrew-core | Homebrew 核心软件仓库 |
homebrew-bottles | Homebrew 预编译二进制软件包 |
homebrew-cask | 提供 macOS 应用和大型二进制文件 |
2、安装 Homebrew
下边三种命令任选一条命令执行即可:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)
source /Users/rzm/.zprofile
3、卸载 Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
4、Homebrew 命令
命令 | 说明 |
---|---|
brew -v | 查看版本 |
brew -h | 查看帮助信息 |
brew help | 查看帮助信息 |
brew list | 列出已安装的软件包 |
brew update | 更新 homebrew |
brew outdated | 列出可以更新的软件包 |
brew upgrade | 更新所有安装过的软件包 |
brew upgrade git | 更新指定的软件包 |
brew search git | 查找软件包 |
brew install git | 安装软件包 |
brew remove git | 卸载软件包 |
brew info git | 查看软件包信息 |
brew deps git | 列出软件包的依赖关系 |
5、修改 Homebrew 源
5.1 阿里源
# 查看 brew.git 当前源
$ cd "$(brew --repo)" && git remote -v
origin https://github.com/Homebrew/brew.git (fetch)
origin https://github.com/Homebrew/brew.git (push)# 查看 homebrew-core.git 当前源
$ cd "$(brew --repo homebrew/core)" && git remote -v
origin https://github.com/Homebrew/homebrew-core.git (fetch)
origin https://github.com/Homebrew/homebrew-core.git (push)# 修改 brew.git 为阿里源
$ git -C "$(brew --repo)" remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git# 修改 homebrew-core.git 为阿里源
$ git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git# zsh 替换 brew bintray 镜像
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc
$ source ~/.zshrc# bash 替换 brew bintray 镜像
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile
$ source ~/.bash_profile# 刷新源
$ brew update
5.2 清华源
# 替换各个源
$ git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
$ git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
$ git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git# zsh 替换 brew bintray 镜像
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.zshrc
$ source ~/.zshrc# bash 替换 brew bintray 镜像
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile
$ source ~/.bash_profile# 刷新源
$ brew update
5.3 中科大源
# 替换各个源
$ git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git
$ git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
$ git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git# zsh 替换 brew bintray 镜像
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
$ source ~/.zshrc# bash 替换 brew bintray 镜像
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
$ source ~/.bash_profile# 刷新源
$ brew update
5.4 官方源(重置)
# 重置 brew.git 为官方源
$ git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git# 重置 homebrew-core.git 为官方源
$ git -C "$(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/homebrew-core.git# 重置 homebrew-cask.git 为官方源
$ git -C "$(brew --repo homebrew/cask)" remote set-url origin https://github.com/Homebrew/homebrew-cask# zsh 注释掉 HOMEBREW_BOTTLE_DOMAIN 配置,其实就是加个#,也可用nano
$ vi ~/.zshrc
# export HOMEBREW_BOTTLE_DOMAIN=xxxxxxxxx# bash 注释掉 HOMEBREW_BOTTLE_DOMAIN 配置,其实就是加个#,也可用nano
$ vi ~/.bash_profile
# export HOMEBREW_BOTTLE_DOMAIN=xxxxxxxxx# 刷新源
$ brew update
10、参考资料
- Mac 下 brew 源切换
- Mac软件包管理
相关文章:
【Mac】Homebrew
1、Homebrew 简介 官网地址:https://brew.sh Homebrew 是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。 Homebrew 主要有四个部分组成: brew、homebrew-core 、homebrew-bottles、homebrew-cask。 源说明br…...

Python笔记之线程库threading
Python笔记之线程库threading 参考博文 Python多线程笔记——简单函数版和类实现版 code review! Python 的 threading 库用于在程序中创建和管理线程。线程允许程序并发执行多个任务。以下是 threading 库的详解和一些简洁示例。 基本概念 线程:在一个进程中&a…...
go 包管理
Go语言所依赖的所有的第三方库都放在GOPATH目录下面 gomodule是Go语言默认的依赖管理工具 Modules是相关Go包的集合,是源代码交换和版本控制的单元,用于指定使用哪些源文件 GO111MODULEoff禁用gomodule,编译时从GOPATH和vendor文件夹中查找包…...
Js内建对象
数组解构 const arr ["1","2","3"]let a,b,c// 解构赋值 //将数组的第一个元素赋值给第一个变量,第二个元素赋值给第二个变量,依次类推[a,b,c] arr console.log(a,b,c) // 1 2 3 // 声明变量同时解构 let [a,b,c] [&qu…...
AXI接口的实现逻辑和底层原理,在FPGA中如何实现AXI接口,一篇文章足以搞明白!!!
AXI(Advanced eXtensible Interface)接口是一个点对点的接口,用于连接高性能的片上系统(SoC)中的处理器、外围设备、内存和其他IP核。以下是对AXI接口的详细解析,包括FPGA实现的原理、逻辑、速度以及详细的…...
《GBDT 算法的原理推导》 11-12计算损失函数的负梯度 公式解析
本文是将文章《GBDT 算法的原理推导》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。 公式(11-12)是GBDT算法中非常关键的一步,它表示了如何通过计算损失函数的负梯度来指导下一棵树的生长。 公式(11-12)如下: r m i − [ ∂ …...
mysql设计
大家好,我是捡田螺的小男孩。 昨天一位粉丝,咨询了一个并发的问题~ 我提供了一个乐观锁兜底的方案,然后发现他们的表,都没有加version字段的,我想到,这不是表设计通用字段嘛。因此,本文跟大家聊聊…...
Android 斗鱼面经
Android 斗鱼面经 文章目录 Android 斗鱼面经一面二面 一面 先简单描述一下JVM JRE JDK的关系 :::info JVM(Java Virtual Machine) Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作…...

【机器学习】26. 聚类评估方法
聚类评估方法 1. Unsupervised Measure1.1. Method 1: measure cohesion and separationSilhouette coefficient Method 2:Correlation between two similarity matricesMethod 3:Visual Inspection of similarity matrix 2. Supervised measures3. 决定…...
linux 最多能创建多少个 TCP 连接?
linux 最大允许TCP连接数 约束一:服务器的端口范围约束二,服务器文件描述符限制约束三:系统线程约束四:系统内存总结 tcp连接四元组:源ip,源端口 <> 目标ip,目标端口 连续对同一个目标ip及…...

我为何要用wordpress搭建一个自己的独立博客
我在csdn有一个博客,这个博客是之前学习编程时建立的。 博客有哪些好处呢? 1,可以写自己的遇到的问题和如何解决的步骤 2,心得体会,经验,和踩坑 3,可以转载别人的好的技术知识 4,宝贵…...

Linux系统每日定时备份mysql数据
一、创建存储脚本的文件夹 创建文件夹,我的脚本放在/root/dbback/mysql mkdir ... cd /root/dbback/mysql 二、编写脚本 vi backup_mysql.sh 复制脚本内容 DB_USER"填写用户名" DB_PASSWORD"填写密码" DB_NAME"数据库名称" # …...

书生大模型第一关Linux基础知识
任务一:完成SSH连接与端口映射并运行hello_world.py 1.SSH及其端口映射 2.在VSCode中安装插件: 3.创建开发机 最后点击创建,然后可能需要等待一段较长的时间,大概需要5分钟左右,如果需要排队则更长时间 然后选择…...

机器学习之fetch_olivetti_faces人脸识别--基于Python实现
fetch_olivetti_faces 数据集下载 fetch_olivetti_faceshttps://github.com/jikechao/olivettifaces sklearn.datasets.fetch_olivetti_faces(*, data_homeNone, shuffleFalse, random_state0, download_if_missingTrue, return_X_yFalse, n_retries3, delay1.0)[source] L…...
【系统设计】深入理解HTTP缓存机制:从Read-Through缓存到HTTP缓存的交互流程
在现代Web开发中,缓存机制扮演着至关重要的角色。它不仅提升了用户体验,还极大地优化了资源的使用效率。在这篇博文中,我们将从“Read-Through”缓存的概念出发,深入探讨HTTP缓存的工作原理和交互流程,并详细描述max-a…...
FLINK单机版安装部署入门-1
文章目录 FLINK单机版安装部署高于1.9.3需要修改配置文件flink-conf.yaml(低于1.9.3可以跳过)linux启动集群windows下启动Flink实例运行(单机)还有一种方式是上传任务包运行examples\streamingjava: Compilation failed: internal java compiler error高版本启动脚本 FLINK单机…...

深度学习-学习率调整策略
在深度学习中,学习率调整策略(Learning Rate Scheduling)用于在训练过程中动态调整学习率,以实现更快的收敛和更好的模型性能。选择合适的学习率策略可以避免模型陷入局部最优、震荡不稳定等问题。下面介绍一些常见的学习率调整策…...
【学员提问bug】小程序在onUnload里面调接口,用来记录退出的时间, 但是接口调用还没成功, 页面就关闭了。如何让接口在onUnload关闭前调用成功?
这种问题比较通用,并不涉及到具体方法执行障碍,所以,解决起来也不麻烦。但是新手往往不知道如何做。 在小程序中,如果在 onUnload 中调用 API 记录页面退出时间,但因为页面关闭速度较快导致请求未完成,可以…...

【刷题13】链表专题
目录 一、两数相加二、两两交换链表的节点三、重排链表四、合并k个升序链表五、k个一组翻转链表 一、两数相加 题目: 思路: 注意整数是逆序存储的,结果要按照题目的要求用链表连接起来遍历l1的cur1,遍历l2的cur2,和…...
Python Turtle模块详解与使用教程
Python Turtle模块详解与使用教程 引言 Python是一种广泛使用的编程语言,其简洁易读的语法使得它成为初学者学习编程的理想选择。而Turtle模块则是Python标准库中一个非常有趣且实用的图形绘制工具,特别适合用于教育和学习编程的基础知识。通过Turtle模…...

微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例
目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码:冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...

JDK 17 序列化是怎么回事
如何序列化?其实很简单,就是根据每个类型,用工厂类调用。逐个完成。 没什么漂亮的代码,只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...