Linux中Homebrew的正確使用方法
很多人都在使用Linux Homebrew ,有三個技巧可以幫助你更好的使用它:
避免環(huán)境污染
首先要避免將 Homebrew 的 bin 目錄添加到 $PATH ,而僅僅將你需要使用的幾個可執(zhí)行做軟連接放到 ~/bin 下面(這個目錄在 $PATH 中),以避免環(huán)境污染。
當(dāng)你編譯或者安裝新軟件時,你顯然希望它依賴的是 /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 命令的時候,會臨時設(shè)置路徑并調(diào)用真正的 brew 可執(zhí)行:
brew install fzf
有了上面的函數(shù),你就不需要設(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 "
注意,最后引號結(jié)束前有一個空格,那么當(dāng)你希望讓 brew 走代理時就可以:
socks5 brew install micro
這樣不破壞環(huán)境變量,臨時給 brew 設(shè)置了一個 localhost:1080 的 socks5 代理,用來安裝新軟件。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。
相關(guān)文章
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置數(shù)據(jù)庫連接池
首先有一點要明確, 我是個新手, 而我所知道的只是一個表面, 根源我并不了解, 目前也不打算去深究. 所以我的方法, 可能只適用于eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 的數(shù)據(jù)庫連接池的配置, 其他版本我無法保證.至少Tomcat 6的admin包還沒出, 所以我的方法肯定不適用于Tomcat 6.2008-10-10
Linux /etc/network/interfaces配置接口方法
在本篇文章里小編給各位分享的是一篇關(guān)于Linux /etc/network/interfaces配置接口方法知識點,需要的朋友們可以學(xué)習(xí)下。2020-02-02
Linux?Tomcat的服務(wù)器查看接口請求方式的方法
本文講述了在安卓開發(fā)中遇到的接口405錯誤,懷疑是由于客戶端用GET請求代替了POST,通過查看ApacheTomcat的localhost_access_log日志確認(rèn)請求方式并定位問題,可能是緩存導(dǎo)致,所以講解了Linux?Tomcat的服務(wù)器查看接口請求方式的方法,需要的朋友可以參考下2024-07-07
linux后臺執(zhí)行命令&和nohup的具體使用方法
這篇文章主要介紹了linux后臺執(zhí)行命令&和nohup的具體使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Linux基礎(chǔ)學(xué)習(xí)之利用tcpdump抓包實例代碼
tcpdump是Linux下面的一個開源的抓包工具,和Windows下面的wireshark抓包工具一樣, 支持抓取指定網(wǎng)口、指定目的地址、指定源地址、指定端口、指定協(xié)議的數(shù)據(jù)。下面這篇文章主要給大家介紹了關(guān)于Linux基礎(chǔ)學(xué)習(xí)之利用tcpdump抓包的相關(guān)資料,需要的朋友可以參考下。2017-12-12
Linux刪除文件提示Operation not permitted的處理辦法
今天小編就為大家分享一篇關(guān)于Linux刪除文件提示Operation not permitted的處理辦法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
centos設(shè)置fqdn(全稱域名)和hostname的方法
這篇文章主要介紹了centos設(shè)置fqdn(全稱域名)和hostname的方法,需要的朋友可以參考下2014-03-03

