很多人都在使用Linux Homebrew ,有三個技巧可以幫助你更好的使用它:
避免環(huán)境污染
首先要避免將 Homebrew 的 bin 目錄添加到 $PATH ,而僅僅將你需要使用的幾個可執(zhí)行做軟連接放到 ~/bin 下面(這個目錄在 $PATH 中),以避免環(huán)境污染。
當你編譯或者安裝新軟件時,你顯然希望它依賴的是 /usr 目錄下面的系統(tǒng)文件,而如果把 Homebrew 的 bin 目錄長期置于 $PATH 中,那么編譯時將會調(diào)用到 Homebrew 里面的 gcc / clang (這兩個經(jīng)常在 brew 中被自動安裝,用于編譯和安裝 homebrew 中源碼形式的包),即便你的 brew 中沒有 gcc / clang,也會在分析依賴時調(diào)用到 pkg-config / python 等 brew 下的軟件,從而返回基于 homebrew 的依賴,這顯然不是你想要的。
所以把你需要的工具做個軟連接放到 ~/bin 下面就可以既使用 homebrew 又避免環(huán)境污染,只是在調(diào)用 brew 安裝新包時需要臨時添加 homebrew 的 bin 目錄到 $PATH 中,用完了又取消,我們用兩個函數(shù)做這個事情:
function brew_disable() {
export PATH=${PATH##*"/.linuxbrew/bin:"}
export PATH=${PATH##*"/.linuxbrew/sbin:"}
export MANPATH=${MANPATH##*"/.linuxbrew/share/man:"}
export INFOPATH=${INFOPATH##*"/.linuxbrew/share/info:"}
}
function brew_enable() {
BREW='/home/linuxbrew/.linuxbrew'
brew_disable
export PATH="$BREW/bin:$BREW/sbin:$PATH"
export MANPATH="$BREW/share/man:$MANPATH"
export INFOPATH="$BREW/share/info:$INFOPATH"
export HOMEBREW_NO_AUTO_UPDATE=1
}
上面兩個函數(shù)放到你的 bashrc 中,平時不需要啟用 homebrew,需要安裝時調(diào)用一下 brew_enable,安裝完包了再用 brew_disable。
還有另外一個做法,直接寫一個名叫 brew 的函數(shù):
function brew() {
PATH="/home/linuxbrew/.linuxbrew/bin:$PATH" /home/linuxbrew/.linuxbrew/bin/brew "$@"
}
這樣再敲入 brew 命令的時候,會臨時設置路徑并調(diào)用真正的 brew 可執(zhí)行:
有了上面的函數(shù),你就不需要設置任何 brew 路徑而直接安裝軟件了,如果你不想覆蓋 brew 這個名字,可以把上面的函數(shù)改名為 brew2 之類的。
禁用自動更新
第二項優(yōu)化,是禁用每次 brew 自動更新:
export HOMEBREW_NO_AUTO_UPDATE=1
這樣可以避免每次 install 軟件急著用時它給你 update 一半天,是十分影響心情的事情,有了這個宏以后完全可以定期手動 brew update 。
使用臨時代理
繼續(xù)在 bashrc 中加一行:
alias socks5="http_proxy=socks5://127.0.0.1:1080 https_proxy=socks5://127.0.0.1:1080 all_proxy=socks5://127.0.0.1:1080 "
注意,最后引號結束前有一個空格,那么當你希望讓 brew 走代理時就可以:
socks5 brew install micro
這樣不破壞環(huán)境變量,臨時給 brew 設置了一個 localhost:1080 的 socks5 代理,用來安裝新軟件。
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。