【macOS】Homebrew & Homebrew cask macOS软件包管理神器
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
安装 Alfredbrew install fliqlo
安装屏保程序 Fliqlobrew install dropbox
安装 Dropboxbrew install java
安装 Java 等开发环境也是可以的
以上几个命令只是简单举例,截止目前,Homebrew Cask 已经收录了近 2100 个软件,足够满足大多数人的需求。如果有的软件不想安装官方正版或者是搜索不到,可以使用如上提到第二种dmg安装方式。
️注意
这里特别指出网络上大部分命令是brew cask install
但是现在命令已经更改,直接使用brew就可以
如图brew cask
被解析为无效命令
此外在安装了brew cask后执行搜索命令会列出软件包及应用程序的搜索结果
其他命令可参阅
https://github.com/Homebrew/homebrew-cask
参考及引用
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软件包管理神器的更多相关文章
- Windows软件包管理工具:Scoop
前言 删库跑路后,Windows系统如何快速安装应用程序,部署环境呢? 以前想过这个问题,最近在安装Hugo时发现使用软件包管理工具可以解决这个问题. 阅读建议 首先需要测试下载速度,尝试从官网下载, ...
- [Linux实践] macOS平台Homebrew更新brew update卡死,完美解决
[Linux实践] macOS 平台 Homebrew 更新 brew update 卡死,完美解决 版本2020.01.05 摘要: 使用brew install [软件包]安装软件包时,卡在Upd ...
- Mac 软件包管理器Homebrew使用指北
Homebrew Homebrew由开发者 Max Howell 开发,并基于 BSD 开源,是一个非常方便的软件包包管理器工具. Homebrew 官网 Homebrew 的几个核心概念 在正式介绍 ...
- Mac安装软件包管理工具Homebrew
PS:最近开始学习groovy,打算去官网下载SDK Bundle,可是官网半天加载不出来,而且莫名其妙就是下载不下来,Folx一直提示 "无效的HTTP相应:禁止",可能是插件和 ...
- Mac Pro 安装 Homebrew 软件包管理工具
Linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案,Red hat有 yum,Ubuntu有 apt-get. Mac os 中没有类似的东东,不过有第三方库支持 ...
- Mac OSX上的软件包管理工具,brew 即 Homebrew
brew 即 Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便. brew类似ubuntu系统下的apt-get的功能. 安装 ...
- Mac 系统下类似于 apt-get 的软件包管理器 -- Homebrew
对于一个习惯了在 Ubuntu 的终端上通过 apt-get 来安装工具软件的我来说,也希望在Mac上找到类似的工具,能很方便的一条命令就能安装所需的软件,而不用手工的去查找下载编译,或者是折腾安装所 ...
- mac os x 10.9.1 安装 Homebrew软件包管理工具及brew安装maven3.1.1
Mac OSX上的软件包管理工具,安装软件或者卸载软件. 打开终端输入(如不行,可参考homebrew官网): ruby -e "$(curl -fsSL https://raw.githu ...
- Mac包管理神器Homebrew
概念 简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,相当于Red hat的yum.Ubuntu的apt-get. 安装命令 ruby -e "$( ...
随机推荐
- TCP编程详解
目录 数据包格式 建立连接(三次握手) 数据传输 断开连接(四次挥手) 基础 客户端流程 编码 TCP服务端流程 TCP服务端编码 参考文献 TCP把连接作为最基本的对象,每一条TCP连接都有两个端点 ...
- spring boot插件开发实战和原理
本文转载自spring boot插件开发实战和原理 实战:编写spring boot插件 为什么要编写boot插件 因为我们在开发的时候需要提供一些共同的功能,所以我们编写个共同的jar包.开发人员在 ...
- Spark集成
一.Spark 架构与优化器 1.Spark架构 (重点) 2.Spark优化器 二.Spark+SQL的API (重点) 1.DataSet简介 2.DataFrame简介 3.RDD与DF/DS的 ...
- linux系统的认识
当使用其他工具连接linux系统时的常用命令. 连接:ssh 用户名@ip 进入根目录:cd / (一般都是先进入根目录然后才能进入其他文件夹) 进入其他文件夹:cd /home ...
- 「TcaplusDB知识库」概念(表、键、记录、索引)
TcaplusDB作为一款NoSQL数据库,语法与传统的SQL关系库有所差异.本文将详细介绍TcaplusDB表.记录.索引这三个数据库中常用术语在TcaplusDB中的概念与意义. 术语\概念 ...
- 痞子衡嵌入式:系统时钟配置不当会导致i.MXRT1xxx系列下OTFAD加密启动失败
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是系统时钟配置不当会导致i.MXRT1xxx系列下OTFAD加密启动失败问题. 我们知道,i.MXRT1xxx家族早期型号(RT1050/ ...
- Java基本概念:内部类
一.简介 描述: 很多时候我们创建类的对象的时候并不需要使用很多次,每次只使用一次,这个时候我们就可以使用内部类了. 内部类不是在一个java源文件中编写两个平行的类,而是在一个类的内部再定义另外一个 ...
- 后端程序员之路 51、A Tour of Go-1
# A Tour of Go - go get golang.org/x/tour/gotour - https://tour.golang.org/ # welcome - ...
- Kubernetes Container lifecycle hooks
简介 在kubernetes中,容器hooks旨在解决服务进程启动与停止时的一些优雅操作需求.比如说进程停止时要给进程一个清理数据的时间,保证服务的请求正常结束,而不是强行中断服务的运行,这样在生产环 ...
- 链表算法题之中等级别,debug调试更简单
文章简述 大家好,本篇是个人的第 5 篇文章 从本篇文章开始,分享关于链表的题目为中等难度,本次共有 3 道题目. 一,两数相加 1.1 题目分析 题中写到数字是按照逆序的方式存储,从进位的角度看,两 ...