[转载]mac下homebrew的使用
该文转自:https://www.zybuluo.com/phper/note/87055
mac系统也是基于unix的系统,所以也继承类很多unix的特性,包括软件的编译,安装等。ubuntu下有快捷命令apt-get install来快速安装软件。centos下有yum install来快速安装。所以,mac下也有一种方式,就是使用brew。
brew是Mac下的一个包管理工具,它从下载源码解压然后 ./configure && make install ,同时会包含相关依存库。并自动配置好各种环境变量,而且非常易于卸载。 这个对程序员来说简直是福音,简单的指令,就能快速安装和升级本地的各种开发环境。
home brew 官网是 http://brew.sh/index_zh-cn.html
安装brew
打开 itrem 。输入一条命令即可安装好 brew。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
这样一个简单的命令,我们就安装好来brew 。来验证一下,输入brew命令:
Example usage:brew [info | home | options ] [FORMULA...]brew install FORMULA...brew uninstall FORMULA...brew search [foo]brew list [FORMULA...]brew updatebrew upgrade [FORMULA...]brew pin/unpin [FORMULA...]Troubleshooting:brew doctorbrew install -vd FORMULAbrew [--env | config]Brewing:brew create [URL [--no-fetch]]brew edit [FORMULA...]open https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Formula-Cookbook.mdFurther help:man brewbrew home
出现了很多帮助命令,说明我们已经安装成功了。
用brew 安装源码
安装好了brew之后,我们就可以用这个命令安装各种源码了。比如安装一下wget工具。这个工具能在命令行中帮我们下载各种数据。
brew install wget
这样一个简单的命令就可以了。它会帮我们下载好wget,并且编译执行安装,还会下载各种依赖包,设置好各种配置和参数。
安装好的 wget 会被安装到/usr/local/Cellar/wget/下。并且将wget命令软链接至 /usr/local/bin 目录下。这样全局就都可以使用wget命令了。
我们同样可以使用brew安装好git,node,openssl,svn等各种。
安装好的这些软件都会统一安装到/usr/local/Cellar/目录下,统一管理。而且安装目录代码会被同步到/usr/local/opt/下,任何的增删改都会保持这2个目录的同步。并且已经软链好各种命令到/usr/local/bin下。
我们去看看:
ls -l /usr/loal/bin-rwxr-xr-x 1 yangyi admin 791 3 26 17:47 brewlrwxr-xr-x 1 yangyi admin 30 3 27 13:34 node -> ../Cellar/node/0.12.1/bin/nodelrwxr-xr-x 1 yangyi admin 30 4 14 15:16 wget -> ../Cellar/wget/1.16.3/bin/wget
/usr/local/Cellar 和 /usr/local/opt/ 同步,增删改都会同步。
$ ls /usr/local/optbrew-cask nginx node openssl pcre pkg-config wget xz$ ls /usr/local/Cellar/brew-cask nginx node openssl pcre pkg-config wget xz
ps: 那我就搞不懂了,那为啥wget -> ../Cellar/wget/1.16.3/bin/wget 命令映射要映射到Cellar目录,而不是opt目录呢?
brew 的常用命令
常用的命令没几个:
brew install wget # 安装源码brew info svn # 显示软件的各种信息,包括版本啊源码地址啊等等brew uninstall wget # 卸载软件,很爽,一键静默卸载brew search git # 模糊搜索brew 支持的软件。如果不加软件名,就会列出所有它支持的软件。多的很。brew list # 列出本机通过brew安装的所有软件brew update # 跟新brew软件自身brew upgrade wget # 更新安装过的软件,如果不加软件名,就更新所有可以更新的软件brew cleanup # 清除下载的各种缓存
brew cask
brew cask 是在brew 的基础上一个增强的工具,用来安装Mac上的Gui程序应用包(.dmg/.pkg), 比如qq、chrome、xun lei等。它先下载解压到统一的目录中(/opt/homebrew-cask/Caskroom),省掉了自己去下载、解压、拖拽(安装)等蛋疼步骤,同样,卸载相当容易与干净。然后再软链到~/Applications/目录下, 一气呵成。非常方便,而且还包含很多在 AppStore 里没有的常用软件。
是不是很牛逼啊!!!
brew cask的官网是:http://caskroom.io
github地址是:https://github.com/caskroom/homebrew-cask
brew cask 的安装
也同样是一条命令搞定,前提是已经安装了brew:
brew install caskroom/cask/brew-cask
这样一条命令久搞定来brew cask 的安装,是不是很爽。
brew cask help一下看安装成功没?也是出现各种命令和帮助手册:
$ brew caskbrew-cask provides a friendly homebrew-style CLI workflow for theadministration of Mac applications distributed as binaries.Commands:alfred displays note about new built-in alfred supportaudit verifies installability of Caskscat dump raw source of the given Cask to the standard outputcleanup cleans up cached downloads and tracker symlinkscreate creates the given Cask and opens it in an editordoctor checks for configuration issuesedit edits the given Caskfetch downloads Cask resources to local cachehome opens the homepage of the given Caskinfo displays information about the given Caskinstall installs the given Casklist with no args, lists installed Casks; given installed Casks, lists staged filessearch searches all known Casksuninstall uninstalls the given Caskupdate a synonym for 'brew update'zap zaps all files associated with the given CaskSee also "man brew-cask"
好,我们来来下一个iTerm来看看:
brew cask install iTerm
简单的2条命令就可以了,非常之快,它会讲软件安装到/opt/homebrew-cask/Caskroom目录下,并且软链到~/Applications了,这样就能在应用程序里找到它。就能方便的使用。
$ cd /opt/homebrew-cask/Caskroom/$ lsiterm2
我们刚才的iTerm了。
再看看软链,用户自己手动下载安装的App会被安装到~/Applications,进这个目录看看:
$ cd ~/Applications/$ ls -ltotal 8drwxr-xr-x 3 yangyi staff 102 4 8 22:27 GitHub.applrwxr-xr-x 1 yangyi staff 48 3 27 16:58 iTerm.app -> /opt/homebrew-cask/Caskroom/iterm2/2.0/iTerm.app
看到了吧。我们刚才的iTerm就软链到了统一的安装目录。
brew cask 常用命令
下面说一些常用到的各种命令。
brew cask install qq # 下载安装软件brew cask uninstall qq # 卸载软件brew cask search qq # 模糊搜索软件,如果不加软件名,就列出所有它支持的软件brew cask info qq # 显示这个软件的详细信息,如果已经用cask安装了,也会显示其安装目录信息等brew cask list # 列出本机按照过的软件列表brew cask cleanup # 清除下载的缓存以及各种链接信息brew update && brew upgrade brew-cask # 更新cask自身
或许你已经注意到了,好像并没有提供更新用cask安装软件命令啊。的确是没有。是的。目前 homebrew-cask 并没有命令直接更新所有已安装的软件,软件更新主要是通过软件自身的更新流程,不过也可以通过以下所示命令先删除 APP,再重新安装。
brew cask uninstall APP && brew cask install APP
软件同样也会安装到/opt/homebrew-cask/Caskroom目录下。
over
参考资料:
http://ljhero.info/2013-08-17/homebrew-cask.html
http://www.udpwork.com/item/11775.html
http://www.zhihu.com/question/22624898
[转载]mac下homebrew的使用的更多相关文章
- mac下 home-brew安装及php,nginx环境安装及配置
Homebrew官网 http://brew.sh/index_zh-cn.html Homebrew是神马 linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案, ...
- <转载>Mac下,使用sshpass让iterm2支持多ssh登录信息保存
windows里有个Xshell非常的方便好使,因为它能保存你所有的ssh登录帐号信息.MAC下并没有xshell,有些也提供这样的功能,但效果都不好.iterm2是很好的终端,但却不能很好的支持多p ...
- Mac 下 Homebrew(类似CentOS下的yum)简介及安装
Homebrew官网 http://brew.sh/index_zh-cn.html Homebrew是神马 linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案, ...
- Mac下Homebrew的安装与使用
Homebrew简介,安装与使用 简介 Homebrew 官方网站 Homebrew是一个包管理器,用于安装Apple没有预装但你需要的UNIX工具.(比如著名的wget). Homebrew会将软件 ...
- Mac下homebrew的安装与卸载
mac系统常用的软件安装工具就是homebrew 个人认为通过brew安装比较简单,下面介绍下如何安装 安装和卸载homebrew 安装 /usr/bin/ruby -e "$(curl - ...
- MAC下Homebrew的安装
1.Homebrew是啥东东? Homebrew的官方网站http://brew.sh/index.html上有这么一句“Homebrew installs the stuffyouneed that ...
- Mac下Homebrew安装的软件放在什么地方
一般情况是这么操作的: 1.通过brew install安装应用最先是放在/usr/local/Cellar/目录下. 2.有些应用会自动创建软链接放在/usr/bin或者/usr/sbin,同时也会 ...
- [转载]mac下查看.mobileprovision文件及钥匙串中证书.cer文件
一. mobileprovision文件查看 xxx.mobileprovision是ios开发中的设备描述文件,里面有证书信息.调试设备的UUID信息.bundle identifier等,此文件是 ...
- Mac下Homebrew将程序文件存在什么位置
一般情况是这么操作的: 1.通过brew install安装应用最先是放在/usr/local/Cellar/目录下. 2.有些应用会自动创建软链接放在/usr/bin或者/usr/sbin,同时也会 ...
随机推荐
- 酷摄影:关于梦 - Miki takahashi
这组摄影来自于日本东京摄影师 Miki takahashi 是一组双重曝光摄影,分开看也许很平常,但是结合在一起却非常有韵味. [gallery]
- secureCRT中文字符乱码
1.远程linux机器.修改环境变量LANG.例如在~/.bash_profile里面添加 export LANG=zh_CN.UTF8 2.本地windows机器.修改SecureCRT的设置.找到 ...
- fork与vfork的区别
fork()与vfock()都是创建一个进程,那他们有什么区别呢?总结有以下三点区别: 1. fork ():子进程拷贝父进程的数据段,代码段 vfork ( ):子进程与父进程共享数据段 ...
- ajax请求返回json数据弹出下载框的解决方法
将返回的Content-Type由application/json改为text/html. 在struts2下: <action name="XXXAjax" class=& ...
- 解决ListView 跟ScroolView 共存 listItem.measure(0, 0) 空指针
在网上找到ListView 和ScroolView 共存的方法无非是给他每个listview 重新增加高度,但是android 的设计者始终认为这并不是一种好的实现方法.但是有的时候有必须要用这种蛋疼 ...
- c缺陷与陷阱笔记-第七章 可移植性代码
1.移位运算符 如果被移位的对象长度是n位,那么移位计数必须>=0,并且<n,例如对于1个32位的数,移位运算n<<31和n<<0是OK的,n<<32和 ...
- php Ajax 局部刷新
php Ajax 局部刷新: HTML部分 </head> <body> <h1>Ajax动态显示时间</h1> <input type=&quo ...
- SGU 101 修改
感谢这里. test4确实是个不连通的case,奇怪的是我用check函数跟if (check() == false)来判断这个case,当不连通时就死循环,得到的结果是不一样的,前者得到WA,后者得 ...
- 手动添加 memcached.jar包
由于目前java memcached client没有官方的maven repository可供使用,因此使用时需要手动将其安装到本地repository. java memcached client ...
- Extension Method[下篇]
四.Extension Method的本质 通过上面一节的介绍,我们知道了在C#中如何去定义一个Extension Method:它是定义在一个Static class中的.第一个Parameter标 ...