Linux中Homebrew的正确使用方法

 更新时间:2019年09月10日 10:54:02   作者:韦易笑  
这篇文章主要给大家介绍了关于Linux中Homebrew的正确使用方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Linux系统具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

很多人都在使用Linux Homebrew ,有三个技巧可以帮助你更好的使用它:

避免环境污染

首先要避免将 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 代理,用来安装新软件。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

相关文章

  • eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池

    eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池

    首先有一点要明确, 我是个新手, 而我所知道的只是一个表面, 根源我并不了解, 目前也不打算去深究. 所以我的方法, 可能只适用于eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 的数据库连接池的配置, 其他版本我无法保证.至少Tomcat 6的admin包还没出, 所以我的方法肯定不适用于Tomcat 6.
    2008-10-10
  • Linux /etc/network/interfaces配置接口方法

    Linux /etc/network/interfaces配置接口方法

    在本篇文章里小编给各位分享的是一篇关于Linux /etc/network/interfaces配置接口方法知识点,需要的朋友们可以学习下。
    2020-02-02
  • Linux Tomcat的服务器查看接口请求方式的方法

    Linux Tomcat的服务器查看接口请求方式的方法

    本文讲述了在安卓开发中遇到的接口405错误,怀疑是由于客户端用GET请求代替了POST,通过查看ApacheTomcat的localhost_access_log日志确认请求方式并定位问题,可能是缓存导致,所以讲解了Linux Tomcat的服务器查看接口请求方式的方法,需要的朋友可以参考下
    2024-07-07
  • CentOS添加和删除用户以及用户组的方法

    CentOS添加和删除用户以及用户组的方法

    本篇文章主要介绍了CentOS添加和删除用户以及用户组的方法,具有一定的参考价值,有兴趣的可以了解一下
    2017-09-09
  • Apache 解决80端口占用问题

    Apache 解决80端口占用问题

    今天小编发现一个很棘手的问题,在安装mongodb后发现apache无法启动问题,今天小编给大家带来了Apache 解决80端口占用问题 ,感兴趣的朋友一起看看吧
    2018-03-03
  • linux后台执行命令&和nohup的具体使用方法

    linux后台执行命令&和nohup的具体使用方法

    这篇文章主要介绍了linux后台执行命令&和nohup的具体使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Linux基础学习之利用tcpdump抓包实例代码

    Linux基础学习之利用tcpdump抓包实例代码

    tcpdump是Linux下面的一个开源的抓包工具,和Windows下面的wireshark抓包工具一样, 支持抓取指定网口、指定目的地址、指定源地址、指定端口、指定协议的数据。下面这篇文章主要给大家介绍了关于Linux基础学习之利用tcpdump抓包的相关资料,需要的朋友可以参考下。
    2017-12-12
  • Linux删除文件提示Operation not permitted的处理办法

    Linux删除文件提示Operation not permitted的处理办法

    今天小编就为大家分享一篇关于Linux删除文件提示Operation not permitted的处理办法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • centos设置fqdn(全称域名)和hostname的方法

    centos设置fqdn(全称域名)和hostname的方法

    这篇文章主要介绍了centos设置fqdn(全称域名)和hostname的方法,需要的朋友可以参考下
    2014-03-03
  • Ubuntu中Nginx的安装与配置详细说明

    Ubuntu中Nginx的安装与配置详细说明

    本篇文章小编为大家介绍,Ubuntu中Nginx的安装与配置详细说明。需要的朋友参考下
    2013-04-04

最新评论