前言:

最近在Mac终端上安装SVN时用到了HomeBrew工具,虽然常用,但平时没有过多了解,特翻阅了资料总结一下,以便遗忘.

目录结构:

1. 什么是HomeBrew

2. HomeBrew的主要用途

3. HomeBrew的安装/卸载

4. HomeBrew的使用

5.HomeBrewCask介绍

6.HomeBrewCask安装

7.HomeBrewCask使用

8.HomeBrewCask原理
  9.先关注意点

正文:

1. 什么是HomeBrew?

  * 官方解释: Homebrew是以最简单,最灵活的方式来安装苹果公司在MacOS中不包含的UNIX工具。

* 通俗解释:   Homebrew 是Mac的OS X上的软件安装管理工具,用以简化 macOS 上的软件安装过程,拥有安装、卸载、更新、查看、搜索等很多实用的功能。可以类比于   Windows 上软件管家的一键安装。 简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。Homebrew 在 2009 年由马克斯·霍威尔(Max Howell)写成,它在 GitHub 上拥有大量贡献者,目前仍处于活跃状态。

* 官网介绍: 传送门
      * Git仓库:   传送门

2. HomeBrew的主要用途?

   正如上面所说的用以简化 macOS 上的软件安装过程,拥有安装、卸载、更新、查看、搜索等很多实用的功能.

3. HomeBrew的安装/卸载?

  • 安装

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 卸载

    $ cd `brew --prefix`
    $ rm -rf Cellar
    $ brew prune
    $ rm `git ls-files`
    $ rm -r Library/Homebrew Library/Aliases Library/Formula Library/Contributions
    $ rm -rf .git
    $ rm -rf ~/Library/Caches/Homebrew

4. HomeBrew的使用?

  • 安装任意包

    $ brew install <packageName>

    示例:安装node

    $ brew install node
  • 卸载任意包

    $ brew uninstall <packageName>

    示例:卸载git

    $ brew uninstall git
  • 查询可用包

    $ brew search <packageName>
  • 查看已安装包列表

    $ brew list
  • 查看任意包信息

    $ brew info <packageName>
  • 更新所有软件

    $ brew update 
  • 更新具体软件
  • $ brew upgrade 软件名
  • 显示包依赖
  • $ brew reps
  • 显示安装的软件服务
    brew info/home 软件名
    

    示例:

    brew info git / brew home git
    
  • 显示安装的服务
    brew services list
  • 安装服务启动,停止,重启
    brew services start/stop/restart serverName
  • 查看Homebrew版本

    $ brew -v
  • Homebrew帮助信息

    $ brew -h      

5. HomeBrewCask介绍

  Homebrew Cask 是 Homebrew 的扩展,借助它可以方便地在 macOS 上安装图形界面程序,即我们常用的各类应用。

  Homebrew 中文含义为自制、自酿酒,Cask 中文含义为桶、木桶,桶装酒是一种成品,也就是说每一个 homebrew cask 都可以直接使用的,比如 Atom 的 Cask 名称为 atom,那么就可以使用如下命令安装:

brew cask install atom

甚至也可以提交新的 Cask,比如假设有桌面客户端少数派,则用 brew cask create sspai 创建新的名称为 sspai 的 Cask,当然还要提供官网下载链接、官方主页、应用版本等信息,可以参照 官方教程,此处就不再细说。

6. HomeBrewCask安装

安装:

brew tap phinze/homebrew-cask
brew install brew-cask

7. HomeBrewCask使用

brew cask install 应用名称
brew cask install <甲应用名称> <乙应用名称> <丙应用名称>

前文已经讲过这个安装命令,但一个问题是:如何确认它支持所要安装的应用?

brew cask search 关键字

比如要确定是否支持应用 gooooooogle,可搜索关键字 goo,即可显示所有包含 goo 的应用。如果不加关键字,会显示出所有支持的应用名称。

由于 Homebrew Cask 还不支持更新应用,故建议使用应用自带的方式进行更新。欲要查看其他命令,可在终端执行 brew cask help 以显示所有 commands,比如发现查看应用 Cask 信息的命令是 info,则在终端执行 brew cask info 应用名称 即可显示该应用信息。

8.Homebrew Cask 原理

用软链接的方式将应用链接到 Application 文件夹,有人说这样的方式会导致 Spotlight 无法检索到。但现在,它是将应用直接移动到 Application 文件夹,这与我们自己去官网下载应用再安装是完全一致的,后续更新或卸载也按平常的方式即可。

当然,也可以用 brew cask uninstall 应用名称的方式,这种方式才会删除路径 /usr/local/Caskroom中保留的应用信息文件,这样当我们用命令 brew cask list查询已安装列表时,已卸载的应用才不会仍显示。也就是说,如果按照平常的方式,比如直接移到废纸篓,那么还需手动删除 Caskroom 中的应用信息文件。当然,不删除也没啥影响,因为一般没必要查看已安装列表,已安装应用在 Launchpad 中查看就好。

9.相关注意

  在Mac OS X 10.11系统以后,/usr/local/等系统目录下的文件读写是需要系统root权限的,以往的Homebrew安装如果没有指定安装路径,会默认安装在这些需要系统root用户读写权限的目录下,导致有些指令需要添加sudo前缀来执行,比如升级Homebrew需要:

$ sudo brew update

  如果你不想每次都使用sudo指令,你有两种方法可以选择:

* 对/usr/local 目录下的文件读写进行root用户授权

$ sudo chown -R $USER /usr/local

示例:

$ sudo chown -R gaojun /usr/local

* (推荐)安装Homebrew时对安装路径进行指定,直接安装在不需要系统root用户授权就可以自由读写的目录下

<install path> -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

HomeBrew及HomeBrew Cask的简介和使用的更多相关文章

  1. homebrew & brew cask使用技巧及Mac软件安装

    homebrew 安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/m ...

  2. Homebrew简介及安装,Mac 包管理

    Homebrew简介及安装 Homebrew官网 http://brew.sh/index_zh-cn.html Homebrew是神马 Linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两 ...

  3. homebrew学习(五)之homebrew cask和homebrew services

    homebrew cask 如果我想安装Chrome浏览器怎么办?试试下面的命令: brew install google-chrome 发现并不能安装,没有该软件.怎么办?好消息是一个叫做homeb ...

  4. 【macOS】Homebrew & Homebrew cask macOS软件包管理神器

    Homebrew Homebrew 与 Homebrew Cask Homebrew 是基于 OS X 的套件管理工具,是一个开源的 Ruby 脚本,专门用于快速下载软件.更通俗地讲,Homebrew ...

  5. Homebrew简介及安装

    Homebrew官网 http://brew.sh/index_zh-cn.html Homebrew是神马 linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案, ...

  6. 【转】Mac端包管理工具——Homebrew简介及安装

    Homebrew官网 http://brew.sh/index_zh-cn.html Homebrew是神马 linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案, ...

  7. Mac 下 Homebrew(类似CentOS下的yum)简介及安装

    Homebrew官网 http://brew.sh/index_zh-cn.html Homebrew是神马 linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案, ...

  8. [Mac OS] Homebrew简介及安装wine

    Homebrew官网 http://brew.sh/index_zh-cn.html Homebrew是神马 linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案, ...

  9. 推荐IOS开发3个工具:Homebrew、TestFight、Crashlytics-备

    1. Homebrew 什么是Homebrew? Homebrew is the easiest and most flexible way to install the UNIX tools App ...

随机推荐

  1. Nginx——location常见配置指令,alias、root、proxy_pass

    1.[alias] 别名配置,用于访问文件系统,在匹配到location配置的URL路径后,指向[alias]配置的路径.如: location /test/ { alias /home/sftp/i ...

  2. iOS--App功耗优化

    良好的用户体验需要如下要素: 电池寿命长.随着能效降低,电池寿命也会降低.但用户想让自己的移动设备全天候待命. 速度快.iOS系统处理复杂操作时仍能提供很好的性能. 响应快.同一时刻消耗太多资源会使U ...

  3. [.NET] 一个获取随机数的新方式

    private Random GetRandomSeed() { byte[] bytes = new byte[4]; RNGCryptoServiceProvider rng = new RNGC ...

  4. glide引出恶心的git submodule

      起因 某一天一个同事,在看那个glide,然后我路过,看到他为何不编译“glide”项目(他说,编译中出错,反正都是看源码而已,所以就懒得搞,然后我出于“好心”,给他弄一下,我擦) 报错: Pro ...

  5. Atitit s2018.6 s6 doc list on com pc.docx Atitit s2018.6 s6 doc list on com pc.docx  Aitit algo fix 算法系列补充.docx Atiitt 兼容性提示的艺术 attilax总结.docx Atitit 应用程序容器化总结 v2 s66.docx Atitit file cms api

    Atitit s2018.6 s6  doc list on com pc.docx Atitit s2018.6 s6  doc list on com pc.docx  Aitit algo fi ...

  6. 【Java编码规范】《阿里巴巴Java开发手册(正式版)》【转载】

    2017年开春之际,诚意献上重磅大礼:阿里巴巴Java开发手册,首次公开阿里官方Java代码规范标准.这套Java统一规范标准将有助于提高行业编码规范化水平,帮助行业人员提高开发质量和效率.大大降低代 ...

  7. flume的安装部署

    系统环境:centos7.5  64位系统 1.下载安装包 官网下载离线安装包:apache-flume-1.8.0-bin.tar.gz 也可以使用linux命令下载: wget -c http:/ ...

  8. iOS 使用xib定义一个View,修改frame无效问题解决

    遇到过好多次使用自定义view,修改frame无效问题, 之前都是放弃xib,直接手写,发现手写简单的还行,复杂的UI就坑逼了.所以还是需要用到可视化编辑的xib. 整理一下,自己备忘也供iOS开发的 ...

  9. python rabbitmq的库,rabbitpy代替pika

    之前看网上都是清一色pika包的例子,就用的pika包,最大问题是非多线程安全,改为使用rabbitpy.大幅改善了pika多线程需要加锁,和外网推送延迟又不能开多线程导致推送慢的问题. rabbit ...

  10. is not in the sudoers file解决方法

    用sudo时提示"xxx is not in the sudoers file. This incident will be reported.其中XXX是你的用户名,也就是你的用户名没有权 ...