前言(废话)

本来打算在公司偷偷摸摸给星球的用户写一篇编程喵整合 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,这速度比其他镜像源快多了,对比起来,其他就是蜗牛

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

  1. 【效率】好用到爆!GitHub 星标 32.5k+的命令行软件管理神器,功能真心强大!...

    前言(废话) 本来打算在公司偷偷摸摸给星球的用户写一篇编程喵整合 MongoDB 的文章,结果在通过 brew 安装 MongoDB 的时候竟然报错了.原因很简单,公司这台 Mac 上的 homebr ...

  2. 解放双手,推荐一款 GitHub 星标 8.2k+的命令行软件管理器

    小二是公司新来的实习生,之前面试的过程中对答如流,所以我非常看好他.第一天,我给他了一台新电脑,要他先在本地搭建个 Java 开发环境. 二话不说,他就开始马不停蹄地行动了.真没想到,他竟然是通过命令 ...

  3. 推荐一款 GitHub 星标 11.5K 的神器,可将任何设备转换为电脑辅助屏幕

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 今天,分享一个神器:deskreen,它可以将将任何设备转换为计算机的辅助屏幕,目前已经在 Github 上标星 ...

  4. Github 星标2.5K!这个涵盖OCR、目标检测,NLP,语音合成多方向AI库要火

    今天小编为大家推荐一个相当牛逼的项目, 粗略估计,这个项目价值超过百万 当前star 2.5k,但是大胆预判, 这个项目肯定要火,未来Star数应该可以到10k甚至20k! 着急的,可以Github直 ...

  5. 差距不止一星半点,Github星标85K的性能优化法则圣经

    java 性能 优化_Java性能优化的5个技巧 java 性能 优化 优化Java代码需要了解Java中的不同元素如何交互以及如何与运行Java的操作系统交互. 使用这五个技巧和资源开始学习如何分析 ...

  6. Github星标超3k的推荐系统入门资料合集(含教程、论文、代码、数据)

    本篇文章是对公众号<机器学习与推荐算法>历史文章的汇总以及对干货内容的梳理,力争把最全面的干货与最完整的知识体系以最清晰的方式呈现给大家,希望大家能够精准快速地获取到自己想学习的内容,尽到 ...

  7. Github星标90K?京东架构师一篇讲明白百亿级并发系统架构设计

    学习高并发系统设计的原因 高并发到底是什么,想必各位多多少少对此都有所了解,那我在这就不多说了.真正经历过"双11"以及"618"的小伙伴应该都知道,在大促时如 ...

  8. 一款牛逼的Java工具类库,GitHub星标10.7k+,你敢用吗?

    点击"开发者技术前线",选择"星标????" 让一部分开发者看到未来 来自:Ryan Wang 链接:ryanc.cc/archives/hutool-java ...

  9. GitHub 星标 115k+的 Java 教程,超级硬核!下载量突破 1 万次!

    CSDN 的同学们,大家好,我是二哥呀! 学 Java 其实不难,重要的是找到好的学习资料和学习方法,然后付诸实践. 这里给大家分享一些我的经验心得,希望能给大家一些启发和帮助. 一开始不要啃那些经典 ...

最新文章

  1. java-静态变量,单例模式
  2. c oracle time,在C/C++中添加1个月到time_t的简单方法
  3. java 面试for循环_一个基础的for循环面试题
  4. rabbitmq 不同的消费者消费同一个队列_RabbitMQ 消费端限流、TTL、死信队列
  5. BZOJ.2780.[SPOJ8093]Sevenk Love Oimaster(广义后缀自动机)
  6. 37--计算一个字符串中每个字符出现次数
  7. java并发初探CountDownLatch
  8. 手机php用什么打开手机浏览器下载,php实现读取手机客户端浏览器的类
  9. 【手写字母识别】基于matlab GUI模板匹配手写大写字母(A-J)识别【含Matlab源码 1107期】
  10. js正则表达式校验手机号码和电话号码
  11. PAT乙级1072(C++)——龙哥哥的刷题路
  12. 企业微信api发送告警信息
  13. modelica练习
  14. android基础复习笔记——3.登录授权、TCP/IP、HTTPS原理
  15. 到底有多二:一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。
  16. 亚马逊黑五哑火,中国跨境电商高歌猛进!
  17. 2022-2028全球与中国移动网络运营商市场现状及未来发展趋势
  18. 第一次迭代开发感想——快租车APP
  19. 南宁第四中学2021年高考成绩查询,2021年南宁所有的中学排名,南宁最好的中学排名前十强...
  20. 字节跳动大数据研发面试——自我反省

热门文章

  1. Unity 初识:认识Unity编辑器
  2. 能够接受儿女平凡的人可以说是看透人生了
  3. android 电视 竖屏 黑边 -平板,怎么把横版视频剪成竖版?两种方法快速搞定!画面满屏,没有黑边2018-11-12...
  4. 知乎好物自动化(一)
  5. 人最重要的能力是什么? 定--静--动
  6. nginx 负载均衡算法
  7. usb接口供电不足_USB口不够用 Hub扩展要注意
  8. 计算机公式求时间差公式,(EXCEL怎么算时间差?函数。)excle函数差怎么算
  9. 计算机没有远程桌面连接,win10没有远程桌面怎么解决_win10电脑没有远程桌面选项处理方法...
  10. matlab 画图 白底黑字,白底黑字状态栏(详细使用步骤及各机型测试结果)