Homebrew怎么在Linux项目中使用-创新互联
这篇文章给大家介绍Homebrew怎么在Linux项目中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
创新互联专注于防城港网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供防城港营销型网站建设,防城港网站制作、防城港网页设计、防城港网站官网定制、微信小程序开发服务,打造防城港网络公司原创品牌,更为您提供防城港网站排名全网营销落地服务。首先要避免将 Homebrew 的 bin 目录添加到 $PATH ,而仅仅将你需要使用的几个可执行做软连接放到 ~/bin 下面(这个目录在 $PATH 中),以避免环境污染。
当你编译或者安装新软件时,你显然希望它依赖的是 /usr 目录下面的系统文件,而如果把 Homebrew 的 bin 目录长期置于 $PATH 中,那么编译时将会调用到 Homebrew 里面的 gcc / clang (这两个经常在 brew 中被自动安装,用于编译和安装 homebrew 中源码形式的包),即便你的 brew 中没有 gcc / clang,也会在分析依赖时调用到 pkg-config / python 等 brew 下的软件,从而返回基于 homebrew 的依赖,这显然不是你想要的。
所以把你需要的工具做个软连接放到 ~/bin 下面就可以既使用 homebrew 又避免环境污染,只是在调用 brew 安装新包时需要临时添加 homebrew 的 bin 目录到 $PATH 中,用完了又取消,我们用两个函数做这个事情:
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 }
上面两个函数放到你的 bashrc 中,平时不需要启用 homebrew,需要安装时调用一下 brew_enable,安装完包了再用 brew_disable。
还有另外一个做法,直接写一个名叫 brew 的函数:
function brew() { PATH="/home/linuxbrew/.linuxbrew/bin:$PATH" /home/linuxbrew/.linuxbrew/bin/brew "$@" }
这样再敲入 brew 命令的时候,会临时设置路径并调用真正的 brew 可执行:
brew install fzf
有了上面的函数,你就不需要设置任何 brew 路径而直接安装软件了,如果你不想覆盖 brew 这个名字,可以把上面的函数改名为 brew2 之类的。
禁用自动更新
第二项优化,是禁用每次 brew 自动更新:
export HOMEBREW_NO_AUTO_UPDATE=1
这样可以避免每次 install 软件急着用时它给你 update 一半天,是十分影响心情的事情,有了这个宏以后完全可以定期手动 brew update 。
使用临时代理
继续在 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
这样不破坏环境变量,临时给 brew 设置了一个 localhost:1080 的 socks5 代理,用来安装新软件。
关于Homebrew怎么在Linux项目中使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
网页标题:Homebrew怎么在Linux项目中使用-创新互联
转载来于:http://ybzwz.com/article/dscdij.html