使用 Homebrew 在无 sudo 权限的 linux 服务器上安装软件
使用学校的超算的时候,没有 sudo 权限,但是又需要安装一些软件。之前我都是通过手动编译源码的方式安装到用户目录,但是当软件的依赖项很多的时候,这种方法就变得费时费力。后来终于不胜其烦,决定回到 Homebrew 的怀抱。
Prerequsities
在安装 Homebrew 之前你需要确保系统上装有较新的 git 和 curl。如果没有的话,建议通过 Conda 安装。
然后通过环境变量设置 Homebrew 使用 Conda 的 git 和 curl:
export HOMEBREW_GIT_PATH="/path/to/conda/git"
export HOMEBREW_CURL_PATH="/path/to/conda/curl"
Install
下载 Homebrew:
mkdir -p $HOME/.local/opt/homebrew
cd $HOME/.local/opt
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip-components 1 -C homebrew
安装 Homebrew:
eval "$(homebrew/bin/brew shellenv)"
brew update --force --quiet
chmod -R go-w "$(brew --prefix)/share/zsh"
将下面的命令添加到 ~/.bashrc
:
export HOMEBREW_PREFIX="$HOME/.local/opt/homebrew";
export HOMEBREW_CELLAR="$HOME/.local/opt/homebrew/Cellar";
export HOMEBREW_REPOSITORY="$HOME/.local/opt/homebrew";
fpath[1,0]="$HOME/.local/opt/homebrew/share/zsh/site-functions";
export PATH="$HOME/.local/opt/homebrew/bin:$HOME/.local/opt/homebrew/sbin${PATH+:$PATH}";
[ -z "${MANPATH-}" ] || export MANPATH=":${MANPATH#:}";
export INFOPATH="$HOME/.local/opt/homebrew/share/info:${INFOPATH:-}";
此时就可以使用 brew
命令来安装软件了。不过由于 brew
不在默认安装位置,因此不能使用预编译的软件包,所以实际是由 brew
为我们完成了编译过程,速度会慢很多。不过依然要比自己手动编译轻松很多。