美文网首页
【CLI】Homebrew调研

【CLI】Homebrew调研

作者: 刘大帅 | 来源:发表于2015-02-06 15:06 被阅读381次
    Homebrew

    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调研

          本文链接:https://www.haomeiwen.com/subject/zrsdxttx.html