homebrew是osx下的一個包管理工具,可以很方便的管理各類包。官方給出的定義是
macOS缺失的軟件包管理器
官方地址
安裝
1、自動安裝(推薦)
執行如下命令:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
上邊的命令行是兩個命令,首先下載install文件,然后用系統的ruby工具安裝。
盡量再bash或者zsh下安裝,fish下會提示不識別'$'。
不需要使用超級權限(sudo),該文件會將HomeBrew安裝至 usr/local
目錄下。安裝過程中會提示你絮語奧執行哪些動作。
==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew
==> The following new directories will be created:
/usr/local/bin
/usr/local/etc
/usr/local/include
/usr/local/lib
/usr/local/sbin
/usr/local/share
/usr/local/var
/usr/local/opt
/usr/local/share/zsh
/usr/local/share/zsh/site-functions
/usr/local/var/homebrew
/usr/local/var/homebrew/linked
/usr/local/Cellar
/usr/local/Caskroom
/usr/local/Homebrew
/usr/local/Frameworks
==> The Xcode Command Line Tools will be installed.
后邊還會有一些提示。繼續的話會提示輸入密碼,等待安裝完成。
安裝完成后輸入 brew -v
即可顯示是否安裝成功:
Homebrew 2.1.9
Homebrew/homebrew-core (git revision 84988; last commit 2019-07-29)
2、手動安裝
執行如下命令:
mkdir homebrew && curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
避免以下兩點:
目錄內包含空格
不要安裝在 /sw
或者 /opt/local
目錄下
當然也可以手動下載安裝腳本,然后修改 HOMEBREW_PREFIX
變量的值,改為自己的安裝目錄。
brew常用命令
1、安裝卸載軟件
-
brew --version
或者brew -v
顯示brew版本信息 -
brew install <formula>
安裝指定軟件 -
brew uninstall <formula>
卸載指定軟件 -
brew list
顯示所有的已安裝的軟件 -
brew search text
搜索本地遠程倉庫的軟件,已安裝會顯示綠色的勾 -
brew search /text/
使用正則表達式搜軟件 -
brew info <formula>
顯示指定軟件信息 -
brew reinstall <formula>
重新安裝指定軟件,先卸載后安裝 -
brew install <formula> --build-from-source
源碼安裝指定軟件,可以給定指定參數 -
brew commands
列出所有可用命令
2、升級軟件相關
brew update
自動升級homebrew (從github下載最新版本)brew outdated
檢測已經過時的軟件brew upgrade
升級所有已過時的軟件,即列出的以過時軟件brew upgrade <formula>
升級指定的軟件brew pin <formula>
禁止指定軟件升級brew unpin <formula>
解鎖禁止升級brew upgrade --all
升級所有的軟件包,包括未清理干凈的舊版本的包brew edit <formula>
編輯軟件,不會的情況下慎用brew tap
列出本地資源倉庫,其中 homebrew 是默認倉庫,其它都是第三方倉庫brew tap <user/repo>
添加第三方倉庫,命名的規則按照github來定的。使用brew untap <user/repo>
刪除倉庫brew deps <formula>
查看指定軟件依賴于哪些軟件brew uses <formula>
查看指定軟件被哪些軟件所依賴
3、清理相關
homebrew再升級軟件時候不會清理相關的舊版本,在軟件升級后我們可以使用如下命令清理
-
brew cleanup -n
列出需要清理的內容 -
brew cleanup <formula>
清理指定的軟件過時包 -
brew cleanup
清理所有的過時軟件 -
brew unistall <formula>
卸載指定軟件 -
brew unistall <fromula> --force
徹底卸載指定軟件,包括舊版本
通過brew安裝的文件會自動設置環境變量,所以不用擔心命令行不能啟動的問題。
比如安裝好了gradle,即可運行 gradle -v
3、brew services管理后臺服務
macOS使用 launchctl
命令加載開機自動運行的服務,brew service
可以簡化 lauchctl
的操作。
以MySQL為例,使用launchctl啟動:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
如使用 brew service
可以簡化為:
brew services start mysql
- services 常用命令
brew services list # 查看使用brew安裝的服務列表
brew services run formula|--all # 啟動服務(僅啟動不注冊)
brew services start formula|--all # 啟動服務,并注冊
brew services stop formula|--all # 停止服務,并取消注冊
brew services restart formula|--all # 重啟服務,并注冊
brew services cleanup # 清除已卸載應用的無用的配置
- 配置文件目錄
/Library/LaunchDaemons # 開機自啟,需要sudo
~/Library/LaunchAgents # 用戶登錄后自啟
以homebrew.mxcl.kafka.plist為例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>homebrew.mxcl.kafka</string>
<key>WorkingDirectory</key>
<string>/usr/local</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/kafka/bin/kafka-server-start</string>
<string>/usr/local/etc/kafka/server.properties</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardErrorPath</key>
<string>/usr/local/var/log/kafka/kafka_output.log</string>
<key>StandardOutPath</key>
<string>/usr/local/var/log/kafka/kafka_output.log</string>
</dict>
</plist>
在這里可以找到服務路徑、啟動參數、日志路徑等
4、brew cask
Homebrew Cask 是 Homebrew 的擴展,借助它可以方便地在 macOS 上安裝圖形界面程序,即我們常用的各類應用。Homebrew 中文含義為自制、自釀酒,Cask 中文含義為桶、木桶,桶裝酒是一種成品,也就是說每一個 homebrew cask 都可以直接使用的,比如 Atom 的 Cask 名稱為 atom,那么就可以使用如下命令安裝:
brew cask install atom
甚至也可以提交新的 Cask,比如假設有桌面客戶端少數派,則用 brew cask create sspai
創建新的名稱為 sspai
的 Cask,當然還要提供官網下載鏈接、官方主頁、應用版本等信息,可以參照 官方教程,此處就不再細說。
安裝 Homebrew Cask【以后新版不需要安裝】
安裝好brew 后,就可以執行命令brew tap caskroom/cask
獲取 Homebrew Cask。注意:
Caskroom 的 Git 地址在 2018 年 5 月 25 日從 https://github.com/caskroom/homebrew-cask 遷移到了 https://github.com/Homebrew/homebrew-cask
所以,以后就不需要安裝 Homebrew Cask
使用 Homebrew Cask
github使用:https://github.com/Homebrew/homebrew-cask/blob/master/USAGE.md
-
brew cask install <formula>
安裝指定圖形界面軟件 -
brew cask uninstall <formula>
卸載軟件 -
brew cask uninstall --force <formula>
卸載軟件,帶參數 -
brew cask search text
搜索軟件 -
brew cask list
列出所有通過cask安裝的軟件 - 其它可以參考:https://github.com/Homebrew/homebrew-cask/blob/master/USAGE.md
舉例可安裝的軟件
# 安裝chrome
brew cask install google-chrome
# 安裝LaunchRocket
brew cask install launchrocket
Homebrew 更換為國內鏡像
查看鏡像地址
? ~ cd "$(brew --repo)"
? Homebrew git:(stable) pwd
/usr/local/Homebrew
? Homebrew git:(stable) git remote -v
origin https://github.com/Homebrew/brew (fetch)
origin https://github.com/Homebrew/brew (push)
1、國內鏡像安裝
- 獲取官網腳本 并保存名為 brew_install;
curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install >> brew_install
- 編輯brew_install文件,更改腳本中的資源鏈接,替換成 中國科學技術大學 的鏡像
#BREW_REPO = "https://github.com/Homebrew/brew".freeze
BREW_REPO = "git://mirrors.ustc.edu.cn/brew.git".freeze
- 安裝brew
/usr/bin/ruby ./brew_install
2、Homebrew替換為中科大源
- Homebrew 源使用幫助 http://mirrors.ustc.edu.cn/help/brew.git.html
- Homebrew Core 源使用幫助 http://mirrors.ustc.edu.cn/help/homebrew-core.git.html
- Homebrew Cask 源使用幫助 http://mirrors.ustc.edu.cn/help/homebrew-cask.git.html
- Homebrew Bottles 源使用幫助 http://mirrors.ustc.edu.cn/help/homebrew-bottles.html
替換默認源
- 替換brew.git
cd "$(brew --repo)" # 其實就是定位至 /usr/local/Homebrew 目錄下
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
# git remote set-url origin git://mirrors.ustc.edu.cn/brew.git
# 重置為官方地址:
cd "$(brew --repo)"
git remote set-url origin https://github.com/Homebrew/brew.git
- 替換homebrew-core.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
# git remote set-url origin git://mirrors.ustc.edu.cn/homebrew-core.git
# 重置為官方地址:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://github.com/Homebrew/homebrew-core
- 默認不安裝cask 有需要的可以替換
[Homebrew cask 軟件倉庫,提供 macOS 應用和大型二進制文件]
cd "$(brew --repo)"/Library/Taps/homebrew/homebrew-cask
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
# git remote set-url origin git://mirrors.ustc.edu.cn/homebrew-cask.git
# 重置為官方地址:
cd "$(brew --repo)"/Library/Taps/homebrew/homebrew-cask
git remote set-url origin https://github.com/Homebrew/homebrew-cask
- brew 更新
brew update
- 檢查是否有誤
brew doctor
替換Homebrew Bottles源
- bash用戶
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile
- zsh用戶
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc
3、Homebrew替換為清華大學源
替換默認源
- 替換現有上游
git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
brew update
- 復原
git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git
git -C "$(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/homebrew-core
brew update
替換Homebrew Bottles源
- bash用戶
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile
- zsh用戶
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc
中科大源 和 清華大學源 其實在操作上是一樣的,而本文檔分了兩部份整理,是為了區分 和更容易理解
常用軟件安裝
ccat 安裝(查看工具)
brew install ccat
添加快捷方式
# 修改配置
vi ~/.zshrc
# 底部添加(覆蓋掉之前的 cat功能。最好不要有換行)
alias cat=ccat
tig 安裝(git插件)
brew install tig
# 在git項目下 輸入
tig
# 進入tig界面,上下鍵選擇提交的信息
# 按住 cmd 按鍵查看
# q 鍵退出
安裝常用的開發包
brew install wget watch tmux cmake openssl imagemagick graphicsmagick gearman geoip readline autoconf multitail source-highlight autojump zsh-completions sshfs
安裝常用的軟件
brew cask install firefox google-chrome thunder qq phpstorm sublime-text
brew cask install alfred appcleaner sequel-pro sketch mplayerx
過時軟件換3方庫
brew install php@7.4
Error: php@7.4 has been disabled because it is a versioned formula!
該消息告訴您 PHP 7.4 已過時。您可以安裝 PHP8
brew install php
或鏈接第 3 方存儲庫并從那里安裝 7.4。
例如:
第三方安裝:https://github.com/shivammathur/homebrew-php
brew tap shivammathur/php
brew install shivammathur/php/php@7.4
brew link php@7.4