【CLI】Homebrew调研

【CLI】Homebrew调研_第1张图片
Homebrew

Homebrew调研

参考文章

  • Homebrew官网
  • 比较Fink, macports 和 homebrew
  • Homebrew 和 Fink、MacPort 相比有什么优势?
  • 为什么在Mac OS下,大多数的人认为Homebrew 比MacPorts好很多?
  • Homebrew OSX 包管理软件,从此抛弃 MacPorts
  • 苹果mac电脑中brew的安装使用及卸载详细教程
  • Ruby系列文章之6 ---OS X 10.8.1 系统 HomeBrew的安装和简单使用

解释一些概念

  • brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便,brew类似ubuntu系统下的apt-get的功能。

  • 作为linux系统的忠实粉丝,我们都很喜欢 (Debian/Ubuntu)系列的apt包管理系统(Redhat/Fedora)系列的yum包管理系统。 包括Windows用户都有多种方便的软件管理工具,如:360软件管理,QQ软件管理,迅雷软件管理等多种。 Mac OS X系统下面之前有老牌的Macports,Fink包管理系统,包括apple的官方Mac App Store。所以我们也向在苹果下找到一款比较新的,方便的包管理系统,没错,她就是Homebrew

  • 如果你有Linux/Unix背景,那么在Mac上你一定想安装那些你熟悉的open source软件。Fink,Macports和Homebrew是3个主流的package management tool。

  • Fink是基于Debian的packaging tools开发的。最大的特点是安装软件是预编译好的(pre-compiled/pre-built)。所以,用Fink安装package是不需要在本机编译的,都是现成的binary code。Fink最大的问题是package跟进不够快。很多最新版的软件,你要等Fink。

  • Macports:Mac算是BSD的一个变种吧。所以,BSD的包管理软件port被移植到Mac上就显的理所当然了。macports的工作方式是下载source code然后在本地编译。macport的理念是尽量减少对系统现有库的依赖。所以,第一次用macport的时候,需要很长时间让macport重新build整个基本库,什么perl啊,python啊的。代价是较长的编译时间,较多的依赖关系下载。好处是不怎么依赖系统,也就是说,更新Mac OS不会破坏你现有的package。

    另外,macports安装所有的package到/opt/local下面。这样不会和系统现有的/usr/local有什么冲突。

  • Homebrew:这个比较新,是在Lion之后才兴起的。工作方式和macport类似,也是下载source并在本地编译安装。但是和macports有两个根本的区别。

    1) homebrew的理念是尽量使用系统现有的库。这样可以大大的减少编译时间。

    2) package都安装到/usr/local下面。
    这两点和macports是完全相反的。结果也是有利有弊。最大的好处莫过于编译时间变短,安装简单。问题就是和系统紧密依赖。

    另外Homebrew假设你的Mac是单用户系统,所以/usr/local的owner应该是你,而不是传统的root。
    这个假设在大多数情况下都成立。
    (当然你可以改变homebrew的安装路径,然后修改你的PATH)

    另外,一个不太重要的区别,macport是用rsync来同步repository tree和获取新的package的。
    homebrew是用git来管理repository的。
    如果你是在内部网或者firewall后通过proxy使用,这点可能会给你带来影响--一些proxy不支持rsync的。

  • 忘了Fink吧,老了。 如果你是重量级的Linux用户,希望使用所有的open source package,那么macports是你不二的选择。如果你只希望很快的安装一些便利的工具,那么homebrew是个不错的选择。

  • Homebrew有一个非常活跃的社区。Github提供了一个良好的合作平台,用户之间的交流非常有效率。软件仓库的版本更新非常快,每天都会有多次提交。总体感觉,Homebrew年轻富有活力,Macports偏于保守严谨。(Fink的用户群好像已经很小了,不提也罢)

Homebrew常见用法

  • 安装方法:在终端等CLI输入
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  
  • 使用homebrew安装软件:

    • 比如安装git

brew install git

    *   比如安装wget  

    ```  
brew install wget  

Homebrew安装成功后,会自动创建目录 /usr/local/Cellar 来存放Homebrew安装的程序。

  • 使用homebrew卸载软件:
    比如卸载wget
brew uninstall wget  
  • 使用brew查询软件
    有时候,你不知道你安装的软件的名字, 那么你需要先搜索下, 查到包的名字。
    比如:
brew search /wge*/  

/wge*/是个正则表达式, 需要包含在//中,如下图


HomebrewSearch.png
  • 彻底卸载homebrew  
    
    cd `brew –prefix`

    rm -rf Cellar

    brew prune 

    rm `git ls-files` 

    rm -rf Library .git .gitignore bin/brew

    rm  -rf README.md share/man/man1/brew

    rm -rf Library/Homebrew Library/Aliases 

    rm -rf Library/Formula Library/Contributions

    rm -rf ~/Library/Caches/Homebrew  
  • 其他homebrew命令
    • brew list:列出已安装的软件
    • brew update:更新brew
    • brew home:用浏览器打开brew的官方网站
    • brew info:显示软件信息
    • brew deps:显示包依赖
    • brew -v: 查看homebrew版本

你可能感兴趣的:(【CLI】Homebrew调研)