Mac包管理器Homebrew的安装方法
作者:小旭2021 发布时间:2023-02-16 06:20:19
世上无难事,只要找到 Homebrew 的正确安装方式。
Homebrew 是什么
Homebrew是 mac的包管理器,仅需执行相应的命令,就能下载安装需要的软件包,可以省掉自己去下载、解压、拖拽(安装)等繁琐的步骤。 比如安装服务器 nginx,打开终端执行以下命令即可安装:
brew install nginx
Homebrew 官方文档https://brew.sh/
Homebrew 怎么安装
方法一:brew官网的安装脚本
执行命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
这时很可能会出现一个问题: 要么下载极其龟速,要么直接出现如下提示
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
原因:这是http://raw.githubusercontent.com访问不稳定引起的。
此时需要换一种科学高效的安装方法,即方法二。
方法二:brew 镜像安装脚本(亲测最快速最有效)
/usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)"
该脚本用了中科大镜像加速访问,仅修改仓库地址部分,不会产生安全隐患。 关于中科大所提供的 Homebrew 镜像服务https://lug.ustc.edu.cn/wiki/mirrors/help/brew.git
注:注意这里的速度,几百kib/s或几m/s才是正常的。若只有几kib/s,通常为无效的安装方法,一般加载了百分之几十后就会报错。
Homebrew 安装时如何避坑
1.若出现 Error: Checksum mismatch.
报错代码如下:
curl: (56) LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
Error: Checksum mismatch.
Expected: b065e5e3783954f3e65d8d3a6377ca51649bfcfa21b356b0dd70490f74c6bd86
Actual: e8a348fe5d5c2b966bab84052062f0317944122dea5fdfdc84ac6d0bd513c137
Archive: /Users/joyce/Library/Caches/Homebrew/portable-ruby-2.6.3_2.yosemite.bottle.tar.gz
To retry an incomplete download, remove the file above.
Error: Failed to install Homebrew Portable Ruby (and your system version is too old)!
Failed during: /usr/local/bin/brew update --force
这里是由Homebrew目录下的portable-ruby-2.6.3_2.yosemite.bottle.tar.gz文件引起的安装中断,只需要到上面对应的路径里,删掉这个文件,重新执行安装命令即可:
/usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)"
2.若卡在了Cloning into...
由这里的龟速可断定卡住了,立马用Control + C中断脚本,然后执行以下命令:
cd "$(brew --repo)/Library/Taps/"
mkdir homebrew && cd homebrew
git clone git://mirrors.ustc.edu.cn/homebrew-core.git
执行后可看到:
速度立马快得飞起,一下子就能装好。
注:最后出现 Installation successful! 或者 Checking out files: 100% (5392/5392), done. 说明安装成功。
Homebrew安装完为何需要配置
前面已经提到,Homebrew通常用来下载软件的,但它在安装软件时非常慢。为了提升安装速度,需要更改 Homebrew 的安装源,将其替换成国内镜像。
这里用的是由中科大负责托管维护的 Homebrew 镜像。其中,前两个为必须配置的项目,后两个可按需配置。
1.必备设置替换 brew.git:
git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git
替换 homebrew-core.git:
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
2.按需设置替换 homebrew-cask.git:
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
替换homebrew-bottles:
首先要先区分你的mac用哪种终端工具,如果是 bash,则执行:
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile
若是 zsh,则执行:
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc
注:Homebrew 主要由四个部分组成: brew、homebrew-core 、homebrew-cask、homebrew-bottles,它们对应的功能如下:
组成 | 功能 |
---|---|
Homebrew | 源代码仓库 |
homebrew-core | Homebrew 核心源 |
homebrew-cask | 提供macos应用和大型二进制文件的安装 |
homebrew-bottles | 预编译二进制软件包 |
Homebrew 基本用法有哪些
// 查询:
brew search 软件名
// 安装:
brew install 软件名
// 卸载:
brew uninstall 软件名
// 更新 Homebrew:
brew update
// 查看 Homebrew 配置信息:
brew config <br data-filtered="filtered"><br data-filtered="filtered">// 查看 Homebrew 安装软件的具体路径:
brew list 软件名
#例如:
brew list ant
/usr/local/Cellar/ant/1.10.9/bin/ant
/usr/local/Cellar/ant/1.10.9/bin/antRun
/usr/local/Cellar/ant/1.10.9/bin/antRun.pl
/usr/local/Cellar/ant/1.10.9/bin/complete-ant-cmd.pl
/usr/local/Cellar/ant/1.10.9/bin/runant.pl
/usr/local/Cellar/ant/1.10.9/bin/runant.py
/usr/local/Cellar/ant/1.10.9/libexec/bin/ (6 files)
/usr/local/Cellar/ant/1.10.9/libexec/etc/ (16 files)
/usr/local/Cellar/ant/1.10.9/libexec/lib/ (55 files)
/usr/local/Cellar/ant/1.10.9/libexec/manual/ (1572 files)
/usr/local/Cellar/ant/1.10.9/libexec/ (8 files)
#说明:
#1、通过brew install安装应用最先是放在/usr/local/Cellar/目录下。
#2、有些应用会自动创建软链接放在/usr/bin或者/usr/sbin,同时也会将整个文件夹放在/usr/local
#3、可以使用 brew list 软件名 (比如 brew list ant)确定安装位置
注:使用官方脚本同样会遇到uninstall地址无法访问问题,可以替换为下面脚本:
/usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/uninstall)"
写在最后
在此之前试过了好几种安装方法,比如下载一个 brew_install.rb的文件,然后执行命令ruby brew_install.rb,一开始行得通,但下载到中途就会报错,而且出错的方法不一,也尝试过好几种相应的解决方法,最终都夭折了,只有这个镜像安装才能成功,而且下载速度非常快。
来源:https://www.cnblogs.com/chenyablog/p/14343707.html


猜你喜欢
- 引言所谓 路由 就是根据不同的 url 地址展示不同的内容或页面形象点 举个栗子??:电话的拨号界面咱们都见过都使用过你输入一串号码,就可以
- 目录快速使用模式总结今天学个简单点的😀,termtables处理表格形式数据的输出。适用于随时随地的输出一些状态或统计数据,便于观察和调试。
- 死锁的原理非常简单,用一句话就可以描述完。就是当多线程访问多个锁的时候,不同的锁被不同的线程持有,它们都在等待其他线程释放出锁来,于是便陷入
- 关于代理模式、装饰模式设计模式中经常提到的代理模式、装饰模式,这两种叫法实际上是说的同一件事,只是侧重点有所不同而已。这两者都是通过在原有对
- MySQL Innodb 引擎优化,InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoD
- 前言在MySQL中,并不是你建立了索引,并且你在SQL中使用到了该列,MySQL就肯定会使用到那些索引的,有一些情况很可能在你不知不觉中,你
- 废话不多说了直接给大家介绍canvas实现手机端用来上传用户头像的代码,具体代码如下所示:<!DOCTYPE html><
- 本文实例为大家分享了python matplotlib实现条形图填充效果的具体代码,供大家参考,具体内容如下写专利用的python里面的ma
- 继续pygame实现俄罗斯方块游戏(AI篇1)的代码更新一、消除后才做评价上一篇我们是对方块落下的位置和落下后出来的空洞进行了评价,但是这些
- 示例如下:function addFileToZip($path,$zip){ $handler=opendir($path);
- 一、logging日志模块等级常见log级别从高到低:CRITICAL 》ERROR 》WARNING 》INFO 》DEBUG,默认等级为
- 本文实例讲述了python飞机大战pygame碰撞检测实现方法。分享给大家供大家参考,具体如下:目标了解碰撞检测方法碰撞实现01. 了解碰撞
- 目的:把question_id 对应的user_answer转成ABCDsolutiondfa=df.groupby('questi
- python 的语法定义和C++、matlab、java 还是很有区别的。1. 括号与函数调用def devided_3(x):  
- 前言本文主要给大家介绍了关于Yii2结合Workerman的websocket的相关内容,两者都是好东西,我就想着能不能结合起来,这样Yii
- Google Talk是一个功能很简洁的即时通讯工具,尤其是它的文字输入区域,不同于其他IM,除了一个文字输入区域外没有任何其他操作。但是用
- 本文实例讲述了Python实现判断字符串中包含某个字符的判断函数。分享给大家供大家参考,具体如下:#coding=utf8#参数包含两个:#
- 本文实例为大家分享了python实现自动下载sftp文件的具体代码,供大家参考,具体内容如下实现功能:利用python自动连接sftp,并下
- 用SQL server 处理数据库,主要就是和数据库还有处理数据库的事务打交道,如何管理好数据库这个对象和处理数据库的事务过程,是我们运用好
- QCalendarWidget 是日历控件。它允许用户以简单和直观的方式选择日期。#!/usr/bin/python3# -*- codin