好用到爆,GitHub 星标 32.5k+的命令行软件管理神器,功能真强大

2023-11-12

前言(废话)

本来打算在公司偷偷摸摸给星球的用户写一篇编程喵整合 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,只需要执行以下命令就可以安装,前提条件是环境一定要配置好。

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 的安装方式非常简单,只需要执行官方的一句命令就可以完成安装了。

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

但国内开发者命苦就苦在,经常会因为网络的原因安装失败。原因我只能说这是 https://raw.githubusercontent.com 网站的锅,谁让它访问不稳定呢?

怎么办呢?

必须换一种高效且科学的安装方式,那就是使用镜像安装。 Gitee 上有开源作者提供了一键安装包,只需要执行以下命令就可以了。

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

安装脚本里提供了中科大、清华大学、北京外国语大学、腾讯、阿里巴巴等下载源。

但过来人告诉你,别选其他镜像源,就选中科大,速度杠杠的,40-50M/s,这速度比其他镜像源快多了,对比起来,其他就是蜗牛

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

好用到爆,GitHub 星标 32.5k+的命令行软件管理神器,功能真强大 的相关文章

随机推荐

  • 怎样选择网站服务器带宽,如何选择云服务器带宽

    原标题 如何选择云服务器带宽 在一台正常使用的云服务器中 一般主要有CPU 内存 带宽 磁盘等几种配置 在云服务器运行中 带宽指在一定时间内从或向网站 服务器传输的数据量 带宽是一个量词 是指在规定时间 一般单位时间为1秒 内 从一端流到另
  • IT自由职业者的成功秘诀

    From http www csdn net article 1970 01 01 293774 导读 原文作者Greg Jorgensen是一位典型的程序员 他从1974年开始编程 曾在耐克和苹果等公司任职 他专攻修复和完善受损 被遗弃和
  • 阿里云k8s服务之间偶尔获取不到dns解析安装ACK NodeLocal DNSCache

    1 背景 feign RetryableException No route to host Host unreachable executing POST http osale thirdparty empty detect 服务突然会中
  • IT精英简历

    IT精英简历 马化腾眼下 一个34岁的中国人在世界和中国经济界可谓抢尽风头 在刚刚过去的2004年年底 他被美国 时代周刊 Time 和有线新闻网 CNN 评为2004年全球最具影响力的25名商界领袖之一 荣膺香港理工大学第四届紫荆花杯杰出
  • vue2.0 element-ui中的el-select选择器无法显示选中的内容

    我使用的是element ui V2 2 3 代码如下 当我选择值得时候 el select选择器无法显示选中的内容 但是能触发change方法 并且能输出选择的值 select vue文件
  • 动态修改iframe高度,从而自适应内容真实高度

    项目中遇到这样的情况 需要用到iframe iframe中的内容也是自己写的页面 由于页面中元素是异步加载出来的 并不能提前预知其高度 这样就不能设置iframe的高度 导致iframe会出现滚动条 用户体验不好 所以我需要能根据内容动态改
  • 41-C语言-蛇形矩阵-输出从1到n的矩阵

    问题 蛇形矩阵 构建蛇形矩阵 之后 根据条件相应输出 思路 蛇形矩阵 初始值a 0 0 为1 之后开始进行趟数变更 蛇形矩阵趟数 斜着来 斜杠 第一趟为a 0 1 和a 1 0 每一趟中的范围为0到tang次 如第一趟中a 0 1 已经赋值
  • 试题 算法训练 印章

    问题描述 共有n种图案的印章 每种图案的出现概率相同 小A买了m张印章 求小A集齐n种印章的概率 输入格式 一行两个正整数n和m 输出格式 一个实数P表示答案 保留4位小数 样例输入 2 3 样例输出 0 7500 数据规模和约定 1 n
  • 神舟电脑上的神器----“control center 管理软件”

    前言 现在有许许多多的人都爱上了神舟电脑的 物美价廉 那么在使用神舟电脑的时候 我们有哪些值得知道的事情 我认为用神舟电脑而不知道 神舟电脑上的控制中心 control center 管理软件 将没有比这个更加遗憾的事情了 正文 现在我们来
  • 2、ESXI安装出错

    ESXI安装错误提示 解决办法 按ALT F1健进入命令行模式 用户名为root 密码为空 然后输入 esxcli system settings advanced set o VSAN FakeSCSIReservations i 1 重
  • unity种四种光源

    unity 中的光 unity中一共有四种光源分别为 Directional light 方向光 类似太阳的日照效果 Point light 点光源 类似蜡烛 Spotlight 聚光灯 类似手电筒 Area Light 区域光 无法用作实
  • 【c++设计模式】——模板方法模式

    模板方法模式的定义 定义一个操作中的算法对象的骨架 稳定 而将一些步骤延迟到子类 定义一个虚函数 让子类去实现 template method使得子类可以不改变 复用 一个算法结构即可重定义该算法的某些步骤 在理解模板方法模式的时候 我们需
  • 深入 Docker:容器和镜像

    在本专栏往期的 Flux7 系列教程 里 我们已经简单地探讨了 Docker 的基本操作 而在那篇教程中 我们一直是简单地将容器当成是 正在运行的镜像 并没有深入地区分镜像和容器到底是什么 有什么区别 因此本次翻译 深入 Docker 容器
  • 服务器固态硬盘接口区别,s s d固态硬盘和服务器配件硬盘的区别

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 s s d固态硬盘 区别于机械硬盘 固态硬盘 Solid State Drives 简称固盘 固态硬盘 Solid State Drive 用固态电子存储芯片阵列而制成的硬盘 由控制单元 和存储
  • docker cgroups 资源限制

    cgroups资源限制技术 1 什么是cgroups cgroups是linux内核提供的一种机制 这种机制可以通过需求把一系列系统任务 及其子任务整合到按资源划分的不同组内 从而为系统资源管理提供统一的框架 通俗来说 cgroups可以限
  • nginx 301 Moved Permanently错误

    问题场景 今天在利用nginx的alias和index参数做实验时 问题描述 通过curl访问出现301错误 原因分析 起初我以为是路径写错了 然后把alias的路径更改 发现问题还是存在 我又以为是用户权限问题 我把运行nginx的用户修
  • ❤️DDOS攻击详解❤️——万物互联时代的巨大威胁!安全领域最棘手的问题之一

    DDOS全称Distributed Denial of Service 翻译成中文是 分布式拒绝服务 DDOS攻击是安全领域最难解决的问题之一 由于其攻击方式的特殊性 始终没有一个完美的解决方案 随着万物互联时代的临近 网络设备的数量呈指数
  • Hadoop(五)Yarn

    Hadoop 五 Yarn 一 Yarn基本理论 1 Yarn架构 2 Yarn工作机制 3 Yarn调度器 4 Yarn常用命令 5 Yarn参数配置 二 tool接口 一 Yarn基本理论 1 Yarn架构 Resource Manag
  • 坏掉的打字机 & 布尔零点计数

    坏掉的打字机 贝博士发明了一种能够自动输出数字并求和的打字机 但这台打字机出了一些故障 它除了输出数字以外还会随机地输出其他字符 艾小姐让贝博士不要着急 她写了一段程序 能够让这台打字机即使在这样的情况下也能输出正确答案 那么 你知道艾小姐
  • 好用到爆,GitHub 星标 32.5k+的命令行软件管理神器,功能真强大

    前言 废话 本来打算在公司偷偷摸摸给星球的用户写一篇编程喵整合 MongoDB 的文章 结果在通过 brew 安装 MongoDB 的时候竟然报错了 原因很简单 公司这台 Mac 上的 homebrew 环境没有配置好 刚好 Java 程序