美文网首页程序员
Homebrew 命令详细介绍

Homebrew 命令详细介绍

作者: Gundy_ | 来源:发表于2018-11-30 15:51 被阅读1次

    Homebrew 命令详细介绍

    搜索软件

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

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

    $ brew search hugo
    
    ==> Searching local taps...
    hugo ✔
    ==> Searching taps on GitHub...
    ==> Searching blacklisted, migrated and deleted formulae...
    

    查看安装的包

    查看已经安装的包

    brew list

    查看包相关信息

    brew info 可以查看包的相关信息,最有用的应该是包依赖和相应的命令。比如 Nginx 会提醒你怎么加 launchctl ,PostgreSQL 会告诉你如何迁移数据库。这些信息会在包安装完成后自动显示,如果忘了的话可以用这个命令很方便地查看。

    brew info $FORMULA    # 显示某个包的信息
    brew info             # 显示安装了包数量,文件数量,和总占用空间
    brew deps 可以显示包的依赖关系,我常用它来查看已安装的包的依赖,然后判断哪些包是可以安全删除的。
    
    brew deps --installed --tree # 查看已安装的包的依赖,树形显示
    

    更新 Homebrew

    要获取最新的包的列表,首先得更新 Homebrew 自己。这可以用 brew update 办到。

    brew update
    完后会显示可以更新的包列表,其中打钩的是已经安装的包。

    更新包 (formula)

    更新之前,我会用 brew outdated 查看哪些包可以更新。

    brew outdated
    然后就可以用 brew upgrade 去更新了。Homebrew 会安装新版本的包,但旧版本仍然会保留

    brew upgrade # 更新所有的包

    brew upgrade $FORMULA # 更新指定的包

    清理旧版本

    新版本安装了,旧版本就不需要了。我会用 brew cleanup 清理旧版本和缓存文件。Homebrew 只会清除比当前安装的包更老的版本,所以不用担心有些包没更新但被删了。

    brew cleanup # 清理所有包的旧版本

    brew cleanup $FORMULA # 清理指定包的旧版本

    brew cleanup -n # 查看可清理的旧版本包,不执行实际操作

    现在该更新的都更新了,旧版本也被清理。

    对于Homebrew来说,如果没有卸载掉软件包的所有版本,那么Homebrew会继续尝试安装这个软件包的最新版本。要想彻底卸载某个软件包,需要执行命令:

    brew uninstall formula_name --force

    锁定不想更新的包

    如果经常更新的话,brew update 一次更新所有的包是非常方便的。但我们有时候会担心自动升级把一些不希望更新的包更新了。数据库就属于这一类,尤其是 PostgreSQL 跨 minor 版本升级都要迁移数据库的。我们更希望找个时间单独处理它。这时可用 brew pin 去锁定这个包,然后 brew update 就会略过它了。

    brew pin $FORMULA      # 锁定某个包
    brew unpin $FORMULA    # 取消锁定
    

    服务管理

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

    brew 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 registering to launch 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 formula 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 config 用于查看 brew 所在环境及相关的配置情况

    诊断问题

    brew doctor 诊断当前 brew 存在哪些问题,并给出解决方案

    仓库管理

    brew tap 已安装的仓库列表
    
    brew tap [--full] user/repo [URL] 添加仓库
    
    brew untap tap 移除仓库
    

    替换homebrew源

    替换homebrew默认源

    cd "$(brew --repo)"
    git remote set-url origin git://mirrors.ustc.edu.cn/brew.git
    

    替换homebrew-core源

    cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
    git remote set-url origin git://mirrors.ustc.edu.cn/homebrew-core.git
    

    相关文章

      网友评论

        本文标题:Homebrew 命令详细介绍

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