前言(废话)
本来打算在公司偷偷摸摸给星球的用户写一篇编程喵整合 MongoDB 的文章,结果在通过 brew 安装 MongoDB 的时候竟然报错了。原因很简单,公司这台 Mac 上的 homebrew 环境没有配置好。刚好 Java 程序员进阶之路上缺少这样一篇内容。
所以我就想,不如趁机水一篇吧,啊,不不不,趁机给小伙伴们普及一下 Homebrew 吧!瞧我这该死的大公无私的心(手动狗头)。
不会吧?不会还有人用 macOS 没有安装/配置 Homebrew 吧?
Homebrew 能干什么
Homebrew 的 Slogan :The missing package manager for macOS (or Linux)
Homebrew 这款命令行软件管理神器在 GitHub 上已经有 32.5k 的 star 了,功能也真心强大,几乎 macOS 上的软件包它都包了。Homebrew 本身没有问题,问题在于。。。。。不说了,你懂的。
Homebrew 除了是 macOS 的包管理器也可以装在 Linux 上成为 Linux 的包管理器,仅需要执行相应的命令,就能下载安装需要的软件包,省去了下载、解压、拖拽等繁琐的步骤。
用 Homebrew 官方的话来总结就是:安装 Apple(或 Linux 系统)没有预装但你需要的软件。比如说安装 MongoDB,只需要执行以下命令就可以安装,前提条件是环境一定要配置好。
代码语言:javascript复制brew install mongodb
简单一条命令,就可以实现包管理,还不用担心依赖/文件路径等问题。
Homebrew 主要由四个部分组成: brew、homebrew-core 、homebrew-cask、homebrew-bottles。
- brew:Homebrew 的源代码仓库
- homebrew-core:Homebrew 的核心源
- homebrew-cask:提供 macOS 应用和大型二进制文件的安装
- homebrew-bottles:预编译二进制软件包
再来了解一下 Homebrew 的接个核心概念,后续会经常用到。
- formula(e),安装包的描述文件,带 e 为复数
- cellar,包安装好后所在的目录
- bottle,预先编译好的包,不需要再下载源码编译,速度会快很多,官方库中的包大多数是通过 bottle 方式安装的
- tap,下载源
- cask(s),安装 macOS native 应用的扩展,可以理解为有图形化界面的应用,带 s 为复数
- bundle,描述 Homebrew 依赖的扩展
安装配置 Homebrew
世上无难事,只要找到 Homebrew 的正确安装方式。
按理说,Homebrew 的安装方式非常简单,只需要执行官方的一句命令就可以完成安装了。
代码语言:javascript复制/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
但国内开发者命苦就苦在,经常会因为网络的原因安装失败。原因我只能说这是 https://raw.githubusercontent.com
网站的锅,谁让它访问不稳定呢?
怎么办呢?
必须换一种高效且科学的安装方式,那就是使用镜像安装。Gitee 上有开源作者提供了一键安装包,只需要执行以下命令就可以了。
代码语言:javascript复制/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
安装脚本里提供了中科大、清华大学、北京外国语大学、腾讯、阿里巴巴等下载源。
但过来人告诉你,别选其他镜像源,就选中科大,速度杠杠的,40-50M/s,这速度比其他镜像源快多了,对比起来,其他就是蜗牛