[转载]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,同时也会 ...
随机推荐
- 通过SQL Server 2008 访问MySQL(转)
在公司中经常会遇到部署多种数据库环境的情况,对于开发人员来说经常在不同数据库之间转换确实有些繁琐,本篇将介绍从SQL Server 操作MySQL 数据库的方法. 数据库测试环境 1. SQL Ser ...
- 深入浅出 ES6:ES6 与 Babel / Broccoli 的联用
深入浅出 ES6指的是添加在 ECMASript 标准第六版中的 JavaScript 编程语言的新特性,简称为 ES6. 虽然 ES6 刚刚到来,但是人们已经开始谈论 ES7 了,它未来的样子,以及 ...
- Qt: qobject_cast<QPushButton*>(sender()) 简化信号与槽的编写
当你觉得写代码是一件重复性极高的工作时,这时你就应该考虑换个方式来实现了. 提高代码效率,减少代码量. 代码片: void Widget::onClicked() { QPushButton* but ...
- Android:删除模拟器中没用的应用
进入模拟器,Setting->apps ->找到相应的app,选择uninstall 即可!
- ArrayList源代码深入剖析
第1部分 ArrayList介绍ArrayList底层采用数组实现,它的容量能动态增长.它继承于AbstractList,实现了List, RandomAccess, Cloneable, java. ...
- Android 响应webview中图片的点击事件
最近碰到个新需求需要点击webview中的图片进行放大显示. 整理了下思路,想到了下面的一个可行的方案. 方案思路, 1.在点击图片的时候调用本地的java方法并给出响应的图片地址 2.本地获得图片地 ...
- PHP实现浏览历史记录
http://www.3a88.com/service/206.html http://www.1360.cc/ZhanChangJiaoCheng/6831.html http://www.osch ...
- HDU1054Strategic Game(最小顶点覆盖数)
我们来先了解一下什么是最小顶点覆盖: 图G的顶点覆盖是一个顶点集合V,使得G中的每一条边都接触V中的至少一个顶点.我们称集合V覆盖了G的边.最小顶点覆盖是用最少的顶点来覆盖所有的边.顶点覆盖数是最小顶 ...
- android系统平台显示驱动开发简要:Samsung LCD接口篇『三』
平台信息: 内核:linux3.4.39系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新浪博 ...
- 【HDOJ】5296 Annoying problem
LCA+RMQ.挺不错的一道题目. 思路是如何通过LCA维护费用.当加入新的点u是,费用增量为dis[u]-dis[lca(u, lower_u)] - dis[lca(u, greater_u)] ...