Homebrew

Homebrew 与 Homebrew Cask

Homebrew 是基于 OS X 的套件管理工具,是一个开源的 Ruby 脚本,专门用于快速下载软件。更通俗地讲,Homebrew 类似于一个软件中心,你可以理解成 App Store 或者 Google Play 那样的软件商店,只不过,Homebrew 比前者以及 Mac App Store 来说有着更丰富的资源与更高效的管理,具体会在下文提及。

至于 Homebrew Cask,它是一套建立在 Homebrew 基础之上的macOS软件安装命令行工具,是 Homebrew 的扩展。简言之,你完全可以把 Homebrew Cask 当作是 Homebrew 的一部分,在安装常用软件的过程中,大部分情况下我们只需要使用 Homebrew Cask 就足够了。

Homebrew 能干什么?

以下来自Homebrew中文主页

使用 Homebrew 安装 Apple(或您的 Linux 系统)没有预装但 你需要的东西

$ brew install wget

Homebrew 会将软件包安装到独立目录,并将其文件软链接至 /usr/local

$ cd /usr/local
$ find Cellar
Cellar/wget/1.16.1
Cellar/wget/1.16.1/bin/wget
Cellar/wget/1.16.1/share/man/man1/wget.1 $ ls -l bin
bin/wget -> ../Cellar/wget/1.16.1/bin/wget

Homebrew 不会将文件安装到它本身目录之外,所以您可将 Homebrew 安装到任意位置。

轻松创建你自己的 Homebrew 包。

$ brew create https://foo.com/bar-1.0.tgz
Created /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/bar.rb

完全基于 Git 和 Ruby,所以自由修改的同时你仍可以轻松撤销你的变更或与上游更新合并。

$ brew edit wget # 使用 $EDITOR 编辑!

Homebrew 的配方都是简单的 Ruby 脚本:

class Wget < Formula
homepage "https://www.gnu.org/software/wget/"
url "https://ftp.gnu.org/gnu/wget/wget-1.15.tar.gz"
sha256 "52126be8cf1bddd7536886e74c053ad7d0ed2aa89b4b630f76785bac21695fcd" def install
system "./configure", "--prefix=#{prefix}"
system "make", "install"
end
end

Homebrew 使 macOS(或您的 Linux 系统)更完整。使用 gem 来安装 RubyGems、用 brew 来安装那些依赖包。

Homebrew有什么优势

  • 通过 Homebrew 下载安装的软件全部来自对应的软件官网,无需担心下载源的安全问题。
  • 依存于系统既有的库,减少了空间占用和冗余
  • 使用 Git 进行管理和更新
  • 易于定制
  • 安装软件 / 软件包 / 软件都在一个目录下,方便管理,这也是 Homebrew 能如此受欢迎的最大原因之一。

Homebrew Cask 的常用命令非常简单,也很好理解,虽然是通过命令行,但你完全不需要对「终端」「命令行」有过多了解,也能很快上手。

不管是 Homebrew 还是 Homebrew Cask,它们除了安装软件外还能帮你做一些其他操作,因此,你花费一定的学习成本带来的效率提升,是值得的。

Homebrew 安装

1. 配备 Intel CPU 的 Mac 电脑

确保你的 Mac 系统版本在 OS X 10.9 或以上。

2. 安装 Xcode

如果你的电脑上没有安装 Xcode,你可能需要先在 Mac App Store 下载 Xcode,如果嫌 Xcode 体积庞大的话,可以前往 Apple 开发者网站 尝试下载 Command Line Tools for Xcode 进行安装。

3.安装 Homebrew

官网主页的安装命令如下

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

但是由于不可抗力,在国内安装我们需要使用Homebrew国内自动安装脚本

安装脚本:

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

卸载脚本:

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

输入以上安装脚本命令即可安装

等待安装完成。

Homebrew常用命令

  • 查看帮助信息
$ brew help
  • 软件安装命令,如 brew install binwalk,支持多个同时安装,用 空格 隔开。
$ brew install <软件名>
  • 软件搜索命令,支持关键字搜索。如果我们想安装一款软件 Alfred,但不知道 Homebrew 是否支持安装该款应用,我们可通过该方法查询。如输入 brew search binwalk 会列出所有符合条件的结果。
$ brew search <关键字>
  • 更新 Homebrew,想要获取最新的包,首先得更新 Homebrew 本身。
$ brew update
  • 更新包,如 brew upgrade $highlight
$ brew upgrade              #更新所有的包
$ brew upgrade $<软件包> #更新指定的包
  • 查看 Homebrew 下载的包存放路径
$ brew --cache
  • 列出已安装的包
$ brew list
  • 列出可更新的包
$ brew outdated
  • 清理旧版本的包,如 brew cleanup $wget
$ brew cleanup            #清理所有旧版本的包
$ brew cleanup $<软件包> #清理指定的旧版本包
$ brew cleanup -n #查看可清理的旧版本包
  • 彻底卸载某个包,如 brew uninstall wget --force
$ brew uninstall <软件包> --force
  • 锁定某个不想更新的包,如 brew pin $wget
$ brew pin $<软件包>       #锁定指定包
$ brew unpin $<软件包> #取消锁定指定包
  • 查看已安装包的依赖
$ brew deps --installed --tree
  • 查看包的信息,如 brew info $wget
$ brew info $<软件包>      #显示某个包信息
$ brew info #显示安装的包数量、文件数量以及占用空间

软件包安装实例

例如我们想要安装binwalk

我们首先查找

brew search binwalk

然后安装

brew install binwalk

安装完成后我们使用brew list查看是否安装完成

这里安装的是binwalk,也可以使用binwalk -h

brew list

homebrew-rmtree

但是当我们卸载某个软件包时,例如执行brew uninstall bin walk并不会删除其依赖。

这里介绍homebrew-rmtree

简单来说就是rmtree可以在卸载某个软件包的同时检查其依赖并卸载

  • 安装命令
$ brew tap beeftornado/rmtree
  • 使用命令
$ brew rmtree $<软件包>

使用实例

Homebrew Cask

macOS软件安装

macOS安装软件的方式通常有两种

  • AppStore

    日常使用应用程序可以直接通过App Store下载安装使用

  • dmg

    但绝大部分软件并没有在App Store上架,往往我们可以到官网下载dmg文件,然后安装使用

现在又有了一种新的安装方式homebrew cask

介绍

安装

同样我们使用brew可以直接安装

brew install cask

使用

使用 Homebrew 安装 App 非常简单,这里需要用到的是基于 Homebrew 的扩展 Homebrew Cask,具体方法是在「终端」中输入类似下列形式的代码并运行:

brew install <软件名>
brew install --cask <软件名>

这里的「软件名」就是我们所要安装软件的名称,下面列举几个常用软件的安装命令大家就会明白了:

  • brew install google-chrome 安装 Chrome 浏览器
  • brew install alfred 安装 Alfred
  • brew install fliqlo 安装屏保程序 Fliqlo
  • brew install dropbox 安装 Dropbox
  • brew install java 安装 Java 等开发环境也是可以的

以上几个命令只是简单举例,截止目前,Homebrew Cask 已经收录了近 2100 个软件,足够满足大多数人的需求。如果有的软件不想安装官方正版或者是搜索不到,可以使用如上提到第二种dmg安装方式。

️注意

这里特别指出网络上大部分命令是brew cask install

但是现在命令已经更改,直接使用brew就可以

如图brew cask被解析为无效命令

此外在安装了brew cask后执行搜索命令会列出软件包及应用程序的搜索结果

其他命令可参阅

https://github.com/Homebrew/homebrew-cask

参考及引用

https://brew.sh/index_zh-cn

https://sspai.com/post/32857

https://zhuanlan.zhihu.com/p/111014448

https://zhuanlan.zhihu.com/p/30704752

https://github.com/beeftornado/homebrew-rmtree

https://github.com/Homebrew/homebrew-cask

转载请注明出处

本文作者:双份浓缩馥芮白

原文链接:https://www.cnblogs.com/Flat-White/p/14463793.html

版权所有,如需转载请注明出处。

【macOS】Homebrew & Homebrew cask macOS软件包管理神器的更多相关文章

  1. Windows软件包管理工具:Scoop

    前言 删库跑路后,Windows系统如何快速安装应用程序,部署环境呢? 以前想过这个问题,最近在安装Hugo时发现使用软件包管理工具可以解决这个问题. 阅读建议 首先需要测试下载速度,尝试从官网下载, ...

  2. [Linux实践] macOS平台Homebrew更新brew update卡死,完美解决

    [Linux实践] macOS 平台 Homebrew 更新 brew update 卡死,完美解决 版本2020.01.05 摘要: 使用brew install [软件包]安装软件包时,卡在Upd ...

  3. Mac 软件包管理器Homebrew使用指北

    Homebrew Homebrew由开发者 Max Howell 开发,并基于 BSD 开源,是一个非常方便的软件包包管理器工具. Homebrew 官网 Homebrew 的几个核心概念 在正式介绍 ...

  4. Mac安装软件包管理工具Homebrew

    PS:最近开始学习groovy,打算去官网下载SDK Bundle,可是官网半天加载不出来,而且莫名其妙就是下载不下来,Folx一直提示 "无效的HTTP相应:禁止",可能是插件和 ...

  5. Mac Pro 安装 Homebrew 软件包管理工具

    Linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案,Red hat有 yum,Ubuntu有 apt-get. Mac os 中没有类似的东东,不过有第三方库支持 ...

  6. Mac OSX上的软件包管理工具,brew 即 Homebrew

    brew 即 Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便. brew类似ubuntu系统下的apt-get的功能. 安装 ...

  7. Mac 系统下类似于 apt-get 的软件包管理器 -- Homebrew

    对于一个习惯了在 Ubuntu 的终端上通过 apt-get 来安装工具软件的我来说,也希望在Mac上找到类似的工具,能很方便的一条命令就能安装所需的软件,而不用手工的去查找下载编译,或者是折腾安装所 ...

  8. mac os x 10.9.1 安装 Homebrew软件包管理工具及brew安装maven3.1.1

    Mac OSX上的软件包管理工具,安装软件或者卸载软件. 打开终端输入(如不行,可参考homebrew官网): ruby -e "$(curl -fsSL https://raw.githu ...

  9. Mac包管理神器Homebrew

    概念 简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,相当于Red hat的yum.Ubuntu的apt-get. 安装命令 ruby -e "$( ...

随机推荐

  1. JavaScript数据类型判断的四种方法

    码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14416375.html 本文分享了JavaScript类型判断的四种方法:typeo ...

  2. pytorch resnet实现

    官方github上已经有了pytorch基础模型的实现,链接 但是其中一些模型,尤其是resnet,都是用函数生成的各个层,自己看起来是真的难受! 所以自己按照caffe的样子,写一个pytorch的 ...

  3. alpakka-kafka(2)-consumer

    alpakka-kafka-consumer的功能描述很简单:向kafka订阅某些topic然后把读到的消息传给akka-streams做业务处理.在kafka-consumer的实现细节上,为了达到 ...

  4. Jmeter beanshell编程实例

    1.引言 BeanShell是一种小型的,免费的,可嵌入的符合Java语法规范的源代码解释器,具有对象脚本语言特性. 在Jmeter实践中,由于BeanShell组件较高的自由度,通常被用来处理较为复 ...

  5. 微信小程序:利用map方法方便获得对象数组中的特定属性值们

  6. Redis 内存淘汰机制详解

    一般来说,缓存的容量是小于数据总量的,所以,当缓存数据越来越多,Redis 不可避免的会被写满,这时候就涉及到 Redis 的内存淘汰机制了.我们需要选定某种策略将"不重要"的数据 ...

  7. bootstrap日期范围选择插件daterangepicker详细使用方法

    插件官方网站地址 bootstrap-daterangepicker是个很方便的插件,但是对我这种菜鸟来说,文档不够详细,摆弄了好久才整好.记录下来供以后参考,也希望能帮到有需要的朋友. 目前版本是2 ...

  8. nacos服务注册之服务器端Raft

    Raft是持久化,数据存储在\nacos\data\naming\data目录 nacos启动后首先从数据存储目录加载数据 Raft协议中节点只有一个LEADER,只有LEADER节点负责数据写入,F ...

  9. 【秒懂音视频开发】02_Windows开发环境搭建

    音视频开发库的选择 每个主流平台基本都有自己的音视频开发库(API),用以处理音视频数据,比如: iOS:AVFoundation.AudioUnit等 Android:MediaPlayer.Med ...

  10. POJ-2195(最小费用最大流+MCMF算法)

    Going Home POJ-2195 这题使用的是最小费用流的模板. 建模的时候我的方法出现错误,导致出现WA,根据网上的建图方法没错. 这里的建图方法是每次到相邻点的最大容量为INF,而花费为1, ...