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 代理,用来安装新软件。

总结

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

相关文章

  • 关于bash函数你可能不知道的一些事情(译)

    关于bash函数你可能不知道的一些事情(译)

    这篇文章主要给大家介绍了关于bash函数你可能不知道的一些事情,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    2018-07-07

  • Linux基础之xargs命令的入门实例

    Linux基础之xargs命令的入门实例

    你是否遇到过这样的情况,需要一遍又一遍地对多个文件执行同样的操作?如果有那你肯定会深有感触这是多么的无聊和效率低下。还好有种简单的方式,可以使用xargs命令解决这个烦恼。本文介绍了Linux基础学习之xargs命令入门的相关资料,需要的朋友可以参考下。

    2017-12-12

  • 浅析linux suse11忘记root密码修改方法

    浅析linux suse11忘记root密码修改方法

    这篇文章主要介绍了linux suse11忘记root密码修改方法,本文内容比较简单,但是具体实现方法给大家介绍的很清楚,需要的朋友可以参考下

    2018-10-10

  • Linux下自动删除归档日志文件的方法

    Linux下自动删除归档日志文件的方法

    这篇文章主要介绍了Linux下自动删除归档日志文件的方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧

    2016-12-12

  • linux尝试登录失败后锁定用户账户的两种方法

    linux尝试登录失败后锁定用户账户的两种方法

    这篇文章主要给大家分享了linux尝试登录失败后锁定用户账户的两种方法,分别是利用pam_tally2模块和pam_faillock 模块实现,文中通过详细的示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

    2017-06-06

  • Linux下Nodejs安装步骤(完整详细)

    Linux下Nodejs安装步骤(完整详细)

    这篇文章主要介绍了Linux下Nodejs安装步骤(完整详细),具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

    2017-01-01

  • centos yum php 7.x 无需删除升级的方法

    centos yum php 7.x 无需删除升级的方法

    下面小编就为大家分享一篇centos yum php 7.x 无需删除升级的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    2018-03-03

  • linux mount挂载共享目录详解

    linux mount挂载共享目录详解

    本篇文章主要介绍了linux mount挂载共享目录详解,详细的介绍mount命令的使用,具有一定的参考价值,有兴趣的可以了解一下。

    2017-03-03

  • 实例详解Linux下的Make命令

    实例详解Linux下的Make命令

    众所周知在Linux系统下的make 命令是系统管理员和程序员用的最频繁的命令之一。管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题。下面这篇文章我们将用一些实例来讨论make命令背后的工作机制。有需要的朋友们可以看看。

    2016-12-12

  • linux下/etc/passwd文件的选项说明

    linux下/etc/passwd文件的选项说明

    /etc/passwd 文件是系统的主要文件之一。该文件中包含了所有用户登录名清单;为所有用户指定了主目录;在登录时使用的 shell 程序名称等。该文件还保存了用户口令;给每个用户提供系统识别号。

    2008-06-06

最新评论

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。