博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用 Homebrew 带飞你的 Mac
阅读量:6214 次
发布时间:2019-06-21

本文共 9272 字,大约阅读时间需要 30 分钟。

Homebrew也称brewmacOS下基于命令行的最强大软件包管理工具,使用Ruby语言开发。类似于CentOSyum或者Ubuntuapt-getbrew能方便的管理软件的安装、更新、卸载,省去了手动编译或拖动安装的不便,更使得软件的管理更加集中化,解决了依赖包管理的烦恼。

原文地址:

资料

安装

Homebrew 依赖于Xcode Command Line Tools,所以需先执行:

xcode-select --install

在终端中执行:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

检查是否已安装成功:

$ brew -vHomebrew 1.6.1Homebrew/homebrew-core (git revision 0aeb7; last commit 2018-04-12)

基本用法

基于brew安装的所有软件及其依赖均会安装到目录/usr/local/Cellar

  • Brew 帮助信息

    $ brew helpExample usage:  brew search [TEXT|/REGEX/]  brew info [FORMULA...]  brew install FORMULA...  brew update  brew upgrade [FORMULA...]  brew uninstall FORMULA...  brew list [FORMULA...]Troubleshooting:  brew config  brew doctor  brew install --verbose --debug FORMULAContributing:  brew create [URL [--no-fetch]]  brew edit [FORMULA...]Further help:  brew commands  brew help [COMMAND]  man brew  https://docs.brew.sh
  • 子命令帮助信息

    brew help [COMMAND]brew [COMMAND] -h 用于查看具体某个子命令的帮助信息。

    例如,查看install命令的帮助详情:

    $ brew install -hbrew install [--debug] [--env=(std|super)] [--ignore-dependencies|--only-dependencies] [--cc=compiler] [--build-from-source|--force-bottle] [--include-test] [--devel|--HEAD] [--keep-tmp] [--build-bottle] [--force] [--verbose] formula [options ...]:    Install formula.    formula is usually the name of the formula to install, but it can be specified    in several different ways. See [SPECIFYING FORMULAE](#specifying-formulae).    If --debug (or -d) is passed and brewing fails, open an interactive debugging    session with access to IRB or a shell inside the temporary build directory.    If --env=std is passed, use the standard build environment instead of superenv.    If --env=super is passed, use superenv even if the formula specifies the    standard build environment.    If --ignore-dependencies is passed, skip installing any dependencies of    any kind. If they are not already present, the formula will probably fail    to install.    If --only-dependencies is passed, install the dependencies with specified    options but do not install the specified formula.    If --cc=compiler is passed, attempt to compile using compiler.    compiler should be the name of the compiler's executable, for instance    gcc-4.2 for Apple's GCC 4.2, or gcc-4.9 for a Homebrew-provided GCC    4.9.    If --build-from-source (or -s) is passed, compile the specified formula from    source even if a bottle is provided. Dependencies will still be installed    from bottles if they are available.    If HOMEBREW_BUILD_FROM_SOURCE is set, regardless of whether --build-from-source was    passed, then both formula and the dependencies installed as part of this process    are built from source even if bottles are available.    If --force-bottle is passed, install from a bottle if it exists for the    current or newest version of macOS, even if it would not normally be used    for installation.    If --include-test is passed, install testing dependencies. These are only    needed by formulae maintainers to run brew test.    If --devel is passed, and formula defines it, install the development version.    If --HEAD is passed, and formula defines it, install the HEAD version,    aka master, trunk, unstable.    If --keep-tmp is passed, the temporary files created during installation    are not deleted.    If --build-bottle is passed, prepare the formula for eventual bottling    during installation.    If --force (or -f) is passed, install without checking for previously    installed keg-only or non-migrated versions    If --verbose (or -v) is passed, print the verification and postinstall steps.    Installation options specific to formula may be appended to the command,    and can be listed with brew options formula.brew install --interactive [--git] formula:    If --interactive (or -i) is passed, download and patch formula, then    open a shell. This allows the user to run ./configure --help and    otherwise determine how to turn the software package into a Homebrew    formula.    If --git (or -g) is passed, Homebrew will create a Git repository, useful for    creating patches to the software.
  • 搜索软件

    brew search [TEXT|/REGEX/] 用于搜索软件,支持使用正则表达式进行复杂的搜索。

    例如,查询静态博客生成工具hugo

    $ brew search hugo==> Searching local taps...hugo ==> Searching taps on GitHub...==> Searching blacklisted, migrated and deleted formulae...
  • 查看软件信息

    brew info [FORMULA...] 用于查询软件的详细信息。

    例如,查看软件hugo的详细信息:

    $ brew info hugohugo: stable 0.38.2 (bottled), HEADConfigurable static site generatorhttps://gohugo.io//usr/local/Cellar/hugo/0.38.2 (32 files, 28.0MB) *  Poured from bottle on 2018-04-19 at 10:11:29From: https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git/Formula/hugo.rb==> DependenciesBuild: dep , go ==> Options--HEAD    Install HEAD version==> CaveatsBash completion has been installed to:  /usr/local/etc/bash_completion.d

    以上查询所得信息,包含了软件的最新可用版本,本机是否已安装,本机已安装的版本,安装的路径、大小、时间、Tap 源,所依赖的包,以及安装的可选项等详细信息。而这些信息可以帮助我们很方便快捷的了解如何对该软件进行相应的操作。

  • 安装软件包

    brew install FORMULA... 用于安装一个或多个软件。

    例如,安装软件hugo

    $ brew install hugo

    安装软件命令执行之前,brew 一般会先检查更新 Homebrew 自身及 Tap 源。

  • 更新软件包
    brew upgrade [FORMULA...] 用于更新一个或多个软件,不指定软件名则更新所有软件。
  • 卸载软件包
    brew uninstall FORMULA... 用于卸载指定的一个或多个软件

    brew uninstall --force FORMULA... 彻底卸载指定软件,包括旧版本

  • 已安装的软件列表
    brew list 用于查询本机已安装的软件列表
  • 服务管理

    brew services 用于方便的管理 brew 安装的软件软件,类似于 Linux 下的 service 命令。

    查看brew services帮助信息:

    $ brew servicesbrew services command:    Integrates Homebrew formulae with macOS' launchctl manager.    [sudo] brew services list    List all running services for the current user (or root)    [sudo] brew services run formula|--all    Run the service formula without starting at login (or boot).    [sudo] brew services start formula|--all    Start the service formula immediately and register it to launch at login (or boot).    [sudo] brew services stop formula|--all    Stop the service formula immediately and unregister it from launching at login (or boot).    [sudo] brew services restart formula|--all    Stop (if necessary) and start the service immediately and register it to launch at login (or boot).    [sudo] brew services cleanup    Remove all unused services.    If sudo is passed, operate on /Library/LaunchDaemons (started at boot).    Otherwise, operate on ~/Library/LaunchAgents (started at login).

    查询服务列表:

    $ brew services listName      Status  User    Plistredis     stoppedphp56     started shocker /usr/local/opt/php56/homebrew.mxcl.php56.plistmongodb   started shocker /usr/local/opt/mongodb/homebrew.mxcl.mongodb.plistmemcached stoppedhttpd     stoppednginx     started shocker /usr/local/opt/nginx/homebrew.mxcl.nginx.plistetcd      stoppedmysql@5.6 started shocker /usr/local/opt/mysql@5.6/homebrew.mxcl.mysql@5.6.plist
  • 检查可更新的软件列表

    brew outdated 可查询有更新版本的软件

    brew outdatedwget (1.18) < 1.19.4_1redis (3.2.8) < 4.0.9brotli (1.0.3) < 1.0.4glib (2.56.0) < 2.56.1etcd (3.2.6) < 3.3.3tmux (2.3_2) < 2.6openssl@1.1 (1.1.0e) < 1.1.0hmysql@5.6 (5.6.34) < 5.6.39libzip (1.5.0) < 1.5.1bash-completion (1.3_1) < 1.3_3
  • 清理软件

    brew cleanup -n 列出需要清理的内容
    brew cleanup 清理所有的过时软件
    brew cleanup [FORMULA] 清理指定软件的过时包

    $ brew cleanupRemoving: /usr/local/Cellar/wget/1.18... (9 files, 1.6MB)Removing: /usr/local/Cellar/libxml2/2.9.4_2... (277 files, 9.8MB)Warning: Skipping redis: most recent version 4.0.9 not installedWarning: Skipping brotli: most recent version 1.0.4 not installedRemoving: /usr/local/Cellar/icu4c/60.1... (249 files, 66.9MB)Removing: /usr/local/Cellar/icu4c/60.2... (249 files, 67MB)Warning: Skipping glib: most recent version 2.56.1 not installedRemoving: /usr/local/Cellar/readline/7.0... (45 files, 2MB)Removing: /usr/local/Cellar/unixodbc/2.3.4... (39 files, 952.3KB)Removing: /Users/shocker/Library/Logs/Homebrew/go... (64B)Removing: /Users/shocker/Library/Logs/Homebrew/glide... (64B)...==> This operation has freed approximately 214.1MB of disk space.
  • 查看配置信息

    brew config 用于查看 brew 所在环境及相关的配置情况

    $ brew configHOMEBREW_VERSION: 1.6.1ORIGIN: https://github.com/Homebrew/brew.gitHEAD: 5a2817cb023ca5e929fe030d423002992bdabf1bLast commit: 7 days agoCore tap ORIGIN: https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.gitCore tap HEAD: 0aeb738f9f10ba3edd4edda9551fe11441bec458Core tap last commit: 11 days agoHOMEBREW_PREFIX: /usr/localHOMEBREW_BOTTLE_DOMAIN: https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottlesCPU: quad-core 64-bit haswellHomebrew Ruby: 2.3.3 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.3/bin/rubyClang: 9.1 build 902Git: 2.15.1 => /Library/Developer/CommandLineTools/usr/bin/gitCurl: 7.54.0 => /usr/bin/curlJava: 9.0.4macOS: 10.13.4-x86_64CLT: 9.3.0.0.1.1521514116Xcode: N/AXQuartz: N/A
  • 诊断问题
    brew doctor 诊断当前 brew 存在哪些问题,并给出解决方案
  • 仓库管理

    brew tap 已安装的仓库列表

    $ brew tapUpdating Homebrew...caskroom/caskhomebrew/corehomebrew/servicespeckrob/phpphinze/cask

    brew tap [--full] user/repo [URL] 添加仓库

    brew untap tap 移除仓库

源镜像

如果不用源镜像,那么就自带梯子或自建服务吧~

  • 清华大学开源软件镜像站

    > [Homebrew 镜像使用帮助](https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/)> [Homebrew-bottles 镜像使用帮助](https://mirrors.tuna.tsinghua.edu.cn/help/homebrew-bottles/)
  • 中科大 LUG@USTC

    > [替换及重置Homebrew默认源](https://lug.ustc.edu.cn/wiki/mirrors/help/brew.git)> [Homebrew Bottles源](https://lug.ustc.edu.cn/wiki/mirrors/help/homebrew-bottles)
  • ban.ninja

    > http://ban.ninja> 该源只镜像了二进制预编译包,即 Bottles 源

原文地址:

转载地址:http://urdja.baihongyu.com/

你可能感兴趣的文章
我是如何将博客转成PDF的
查看>>
【速记】如何在老IE浏览器上将字符串解析成DOM对象
查看>>
【Dubbo源码阅读系列】之 Dubbo SPI 机制
查看>>
Web随机播放音乐,服务器同步歌曲信息,的一种实现方式。
查看>>
Java NIO与IO 区别
查看>>
Homestead 安装 PHP Redis 扩展
查看>>
多层科目任意组合汇总报表的性能优化 (上)
查看>>
Logstash 参考指南(作为Debian或RPM上的服务运行Logstash)
查看>>
leetCode 4 Median of Two Sorted Arrays
查看>>
xshell免费版下载安装
查看>>
基于moment写一个滑动日历
查看>>
移动端:对高度自适应的输入框说不~
查看>>
android开源新闻小程序、3D翻转公告效果、小说检索、Kotlin开发TODO清单等源码...
查看>>
PHP算法之判断是否是质数
查看>>
Android 系统开发_核心机制篇 -- 深入钻研 Handler(用法)
查看>>
promise学习(1)
查看>>
幂等的实现方案
查看>>
认识Java泛型
查看>>
node thread.sleep实现
查看>>
H5剪切板功能
查看>>