• MAC上的包管理利器


    Homebrew- MAC上的包管理利器

    2013-07-01 16:25 by 黄博文, 76 阅读, 0 评论, 收藏编辑

    包管理器是神马东西?让我们看看wikipedia上的介绍。

    In software, a package management system, also called package manager, is a collection of software tools to automate the process of installing, upgrading, configuring, and removing software packages for a computer’s operating system in a consistent manner.

    简单的来说,包管理器就是一个提供对一系列软件包的安装、卸载、升级的自动化工具。 包管理器大体分为两种,一种是管理预编译好的软件(Binary installation/Precomplied packages),如MAC上的App Store,Windows下的Windows installer。另一种是基于源码的安装包,通过编译脚本来安装软件(Sourcecode-based installation/installing using compile scripts),如MAC上的Homebrew,Linux上的apt-build。

    今天就给大家讲解下Homebrew

    Homebrew官网上称自己为:

    The missing package manager for OS X

    即自己弥补了在OS X上无包管理器的缺陷。

    需求环境

    1. OS X 10.5及其以上版本。

    2. 安装XCode里的开发者工具。主要是因为开发者工具中有mac下的gcc编译器,很多软件需要它。

    3. ruby。Homebrew使用ruby写的,所以ruby不可或缺。

    安装Homebrew

    只需要在terminal下敲这样一行代码就行。

    1
    
    ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
    

    brew会被默认安装到/usr/local文件夹中。从上述命令可以看出homebrew是基于ruby的一款包管理器,并且host在github上。

    使用

    Homebrew中支持安装的软件被称为Formula。

    • 查看所有支持的Formual。可以在这里查看。如果不能上网的话可以通过brew server来在本地开启一个server来查看。

    • brew search [Formula], 搜索某个Formula是否被支持。

    • brew install [Formula], 安装某个Formula。

    • brew upgrade [Formula], 升级某个Formula。

    • brew uninstall [Formula], 删除某个Formula。

    • brew update, 更新brew支持的Formula列表。

    所有的软件都会默认被安装到/usr/local/Cellar目录下,然后将部分可执行脚本文件通过软链接链接到/usr/localin目录下,这样我们就可以在Terminal下使用这些软件。

    Homebrew对于Formula的管理是基于git的。你可以在/usr/local/下发现有一个.git的文件夹。通过查看.git目录下的config文件,可以知道其实目录是被链接到github上的一个repository。

    config
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    [core]
            repositoryformatversion = 0
            filemode = true
            bare = false
            logallrefupdates = true
            ignorecase = true
            autocrlf = false
    [remote "origin"]
            url = https://github.com/mxcl/homebrew.git
            fetch = +refs/heads/*:refs/remotes/origin/*
    

    你也可以为自己的软件加入到Homebrew的支持列表中。只需要写一个ruby脚本check in到其github中。 下面是一个脚本示例。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    require 'formula'
    class Wget < Formula
      homepage 'http://www.gnu.org/wget/'
      url 'http://ftp.gnu.org/wget-1.12.tar.gz'
      md5 '308a5476fc096a8a525d07279a6f6aa3'
      def install
        system "./configure --prefix=#{prefix}"
        system 'make install'
      end
    end
    

    当然Homebrew接收这些软件也是有一定条件的,可以看这个文档

    作者:黄博文@无敌北瓜 
    出处:http://www.cnblogs.com/huang0925
    黄博文的地盘
    本文版权归本人和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
     
    分类: 编程开发
  • 相关阅读:
    5.单表查询
    3.数据类型1
    3.数据类型2
    mysql用户操作和权限管理
    【剑指Offer】面试题27. 二叉树的镜像
    【LeetCode】160. 相交链表
    【剑指Offer】面试题52. 两个链表的第一个公共节点
    【LeetCode】206. 反转链表
    【剑指Offer】面试题24. 反转链表
    LeetCode题解分类汇总(包括剑指Offer和程序员面试金典,持续更新)
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3165302.html
Copyright © 2020-2023  润新知