0x00 情景與簡介
今天和朋友聚餐聊天,A說他換了MBP,B說他常聽說macbook很適合開發,然後我說這可能歸功於Homebrew吧。A反問Homebrew是什麼?emmmm…
Homebrew是由Ruby語言寫成的macOS軟件包管理器。如果使用過linux系統的話,它的功能就類似於apt或者yum這樣的包管理器。網站在https://brew.sh/。同時,對於開發者,支持其自己創建自己的Homebrew包。
Homebrew背後做了很多將安卓過程標準化、自動化的工作,能讓使用者輕鬆管理好mac上軟件。Homebrew會將文件安裝到它本身目錄之內,Homebrew安裝到任意位置。Homebrew會將軟件包安裝到獨立目錄,並將其文件軟鏈接至 /usr/local。簡單來說,就是通過Homebrew可以輕鬆安裝一些在mac上安裝起來比較複雜的軟件,並且自動加入到bash的環境變量中。
0x01 安裝與使用
通過如下命令在macOS中安裝Homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/homebrew/install/master/install)"
查看Homebrew幫助
brew help
man brew
安裝
brew install <packageName>
卸載
brew uninstall <packageName>
不確定Homebrew是否有自己要安裝的軟件,可以先進行搜索查找結果
brew search <packageName>
羅列已經安裝的包
brew list
查看已經安裝的包的信息
brew info <packageName>
更新Homebrew
brew update
清理過期的軟件
brew cleanup
0x02 常見的問題
/usr/local/權限問題
Homebrew也會在/usr/local/等系統目錄下的讀寫文件(主要是寫),這可能需要root權限。
可以對/usr/local目錄下的文件讀寫進行root用戶授權。(官方在手冊中也聲明瞭它是安全的,姑且信了吧)
sudo chown -R $USER /usr/local
brew doctor
brew doctor
命令能發現一個過期的版本或者沒有創建、配置好的文件夾等等問題,而且最有好的就是給出解決的辦法或命令。(多數給出的解決辦法都能解決你遇到的問題)
比如安裝軟件時出現/usr/local/sbin is not writable.
的錯誤提示
有些是因爲沒有創建這個文件夾,有些則是因爲沒有執行chown修改權限。如果百度這個的話,答疑網站多數人的給出的建議是執行後者。doctor則會指出所有的問題,並給出命令。
該命令還可以提示沒有link程序;提示沒有加入到PATH下的文件夾;提示某些過期的軟件需要cleanup清理等信息。
關閉自動更新
默認在執行Homebrew的命令前要進行更新,這個有時確實影響使用。
單次使用的時候可以再shell裏輸入如下命令:
export HOMEBREW_NO_AUTO_UPDATE=true
達到永久效果,要在自己的shell配置文件裏寫入這句話,因爲shell不同,請自行百度。