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. 08.手写KNN算法测试

    导入库 import numpy as np from sklearn import datasets import matplotlib.pyplot as plt 导入数据 iris = data ...

  2. 1004 Counting Leaves ——PAT甲级真题

    1004 Counting Leaves A family hierarchy is usually presented by a pedigree tree. Your job is to coun ...

  3. wxWidgets源码分析(8) - MVC架构

    目录 MVC架构 wxDocManager文档管理器 模板类创建文档对象 视图对象的创建 创建顺序 框架菜单命令的执行过程 wxDocParentFrame菜单入口 wxDocManager类的处理 ...

  4. 一个基于 Vue3 的开源项目,3个月时间 star 终于破千!

    本文主要是对如何做开源项目的一些思考. 前文回顾: <Vue3 来了,Vue3 开源商城项目重构计划正式启动!> <一个基于 Vue 3 + Vant 3 的开源商城项目> 关 ...

  5. SpringMVC异步处理的 5 种方式

    作者:丁仪 来源:https://chengxuzhixin.com/blog/post/SpringMVC-yi-bu-chu-li-de-5-zhong-fang-shi.html 前段时间研究了 ...

  6. JWT原理及常见攻击方式

    JWT的全称是Json Web Token.它遵循JSON格式,将用户信息加密到token里,服务器不保存任何用户信息,只保存密钥信息,通过使用特定加密算法验证token,通过token验证用户身份. ...

  7. docker的安装和基本的docker命令、镜像和容器的操作

    1.yum 包更新到最新 yum update 2.安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 yum insta ...

  8. Serverless 2.0,鸡蛋还是银弹?

    简介: 本篇旨在介绍 Serverless 如今应用到应用(非病句)的各种困境,以及帮助用户如何去规避一些问题,提前了解方向. 浪潮 从 2014 年 Serverless 冒头至今,已经有无数的勇士 ...

  9. C#连接Excel读取与写入数据库SQL ( 下 )

    接上期 dataset简而言之可以理解为 虚拟的 数据库或是Excel文件.而dataset里的datatable 可以理解为数据库中的table活着Excel里的sheet(Excel里面不是可以新 ...

  10. TiDB在更新版本的时候初始化Prometheus的配置文件失败

    一.背景是更换版本了之后,按照正常扩容节点也会报错. 我们安装的TiDB版本是v4.0.0,因为环境还在试用阶段,所以会经常增删节点.原因是我们违背官方说明,强行用机械盘上了,跑不过单机的mysql, ...