对于一个习惯了在 Ubuntu 的终端上通过 apt-get 来安装工具软件的我来说,也希望在Mac上找到类似的工具,能很方便的一条命令就能安装所需的软件,而不用手工的去查找下载编译,或者是折腾安装所需的一些依赖关系。很惊喜发现,Mac上也有类似的工具软件包管理器 --Homebrew

Homebrew 并不是什么软件包都能装,它只是能装一些系统缺省的软件包,例如:wget、nginx、mysql等等。不过随着 homebrew0.9版 新加了 tap 操作,支持安装第三方数据源的软件包,以后支持安装的软件包会更多、更丰富。

Homebrew安装

安装 Homebrew 很简单,只需在终端上输入一行 Ruby 脚本(所以要先搭建 Ruby 运行环境,Mac 下已经预装了 Ruby)就行:

Homebrew使用

Homebrew 跟 Ubuntu 的里的 apt-get 一样,update是更新软件包列表,install是安装软件包,uninstall是卸载软件包,用法都差不多,熟悉 apt-get 使用的话是很容易上手。

下面是 Homebrew 的一些常用操作(package替换成你想安装的软件名,例如:nginx、mysql,就能正常安装你想要安装的软件):

显示帮助信息

1
brew -h

Homebrew的版本

1
brew -v

列出Homebrew的建议或警告信息

1
brew doctor

列出已安装的软件包

1
brew list

更新Homebrew软件包

1
brew update(up)

用浏览器打开package主页(package 为空则打开 Homebrew 主页)

1
brew home package

显示软件包内容信息

1
brew info package

显示包依赖

1
brew deps package

查找有没有想要安装的软件包(支持模糊查找)

1
brew search package

查看软件包的信息

1
brew info package

软件包的安装选项

1
brew options package

安装软件包

1
brew install package

如果想查看安装过程中执行的命令或者是编译信息,可以在 "install" 后面加一个 "-v" 参数:

1
brew install -v package

卸载软件包

1
brew uninstall(remove) package

用 Homebrew 安装第三方工具软件包,例如用 homebrew 安装官方缺省的php

1
brew tap josegonzalez/php

如果软件包出了新版本,可以用 upgrade 更新过时的软件包(缺省 package 参数,则为全部更新):

1
brew upgrade package

清理之前安装的旧版本数据:

1
2
brew cleanup --force -s
rm -rf $(brew --cache)

更多详细的用法说明可以在终端输入"man brew"查看。

PS:Mac 下类似 Homebrew 的软件管理工具还有 MacPortsFink

Homebrew 的一些配置目录:

  • /Library/Caches/Homebrew: 安装所下载文件的存放的位置

homebrew介绍的更多相关文章

  1. MAC——Homebrew介绍和使用

    一.Homebrew是什么 Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装.卸载.更新.查看.搜索等很多实用的功能.简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径 ...

  2. Homebrew介绍和使用

    一.Homebrew是什么 Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装.卸载.更新.查看.搜索等很多实用的功能.简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径 ...

  3. MAC Homebrew安装和简单使用

    前言: 这个周六日在刚刚买的macbookpro(系统版本是:10.13.5)上面安装angular,一开始是按照windows上的顺序安装的,先安装node.js,然后在安装angular的时候报错 ...

  4. Homebrew 常用命令

    Homebrew 常用命令 Homebrew 介绍 Homebrew也称brew,macOS下基于命令行的最强大软件包管理工具,使用Ruby语言开发.类似于CentOS的yum或者Ubuntu的apt ...

  5. 【转1】Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结

    Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结 关于 Appium 1.6.3 在Xcode 8, 10.2 的iOS模拟器上的问题很多,本人也差点放弃 ...

  6. MAC终端如何使用rar和unrar

    一.MAC具体安装见下面两个博客分享: Homebrew介绍和使用:https://www.jianshu.com/p/de6f1d2d37bf Mac 压缩 / 解压缩工具解决方案:https:// ...

  7. iOS工具】rvm、Ruby环境和CocoaPods安装使用及相关报错问题解决

    〇.前言 <p>在iOS开发中 CocoaPods作为库依赖管理工具就是一把利器. 有了 CocoaPods则无需再通过拖 第三方库及第三方库所依赖的 framework静态库到项目中等麻 ...

  8. Mac上的包管理器Homebrew的介绍及安装和使用实践

    Homebrew的作用 Homebrew是OS X上强大的包管理器,为系统软件提供了非常方便的安装方式,独特式的解决了包的依赖问题,并不再需要烦人的sudo,一键式编译,无参数困扰. 如何安装Home ...

  9. Mac 实用工具bash-comletion介绍安装

    介绍: 相信用过centos系统的同学都满喜欢它的自动补全功能.在mac系统中自带的bash,但是在我们引用git做一些分支切换等操作时并没有我们需要的那么强大. 现在推荐一款好用的插件bash-co ...

随机推荐

  1. 开发RESTful WebService

    RESTful风格的webservice越来越流行了,sun也推出了RESTful WebService的官方规范:JAX-RS,全称:Java API for RESTful WebService. ...

  2. IDisposable 接口2

    定义一种释放分配的资源的方法. 命名空间:  System程序集:  mscorlib(在 mscorlib.dll 中) 语法 C# C++ F# VB [ComVisibleAttribute(t ...

  3. Qt中QWidget加入到父类QWidget不能显示的问题

    最近忙活了半天发现了一个不容易发现的问题,比如我有一个父类的自定义Widget,并且自己设置了Pattle,但这个时候我如果再在当前Widget内部加入自己的widget就不能正常显示,但是加QPus ...

  4. c# sqlserver备份还原(转)

    WinForm c# 备份 还原 数据库 其实是个非常简单的问题,一个Form,一个Button,一个OpenFileDialog,一个SaveFileDialog.下面给出备份与还原类 using ...

  5. linux常用svn命令(转载)

     原地址:http://www.rjgc.net/control/content/content.php?nid=4418       1.将文件checkout到本地目录svn checkout p ...

  6. [jQuery] $.grep使用

    1.$.grep的功能是查找过滤功能的数组,原数组不受影响. 2.参数定义 jQuery.grep( array, function(elementOfArray, indexInArray), [ ...

  7. Layer 一个让你想到即可做到的web弹窗/层 解决方案

    最近工作上面用到的web弹窗组件layer layer是一款口碑极佳的web弹层组件,她具备全方位的解决方案,致力于服务各个水平段的开发人员,您的页面会轻松地拥有丰富而友好的操作体验. layer官方 ...

  8. bzoj2534: Uva10829L-gap字符串

    Description 有一种形如uvu形式的字符串,其中u是非空字符串,且V的长度正好为L,那么称这个字符串为L-Gap字符串 给出一个字符串S,以及一个正整数L,问S中有多少个L-Gap子串. I ...

  9. Objective-C释解 Target-Action模式

    Objective-C释解 Target-Action模式   Target-Action模式是ObjC里非常常见的对象之间方法调用的方式,不过ObjC把方法调用叫做Send Message. 一帮情 ...

  10. TableView_编辑 实例代码

    @interface MJViewController () <UITableViewDataSource, UITableViewDelegate> { NSMutableArray * ...