WSL・Ubuntu に Linuxbrew (Homebrew) を入れてみる
MacOS でおなじみのパッケージ管理ツール、Homebrew。それを Linux でも利用できるということで、試してみた。
以前は Linuxbrew と呼ばれていたらしいが、現在は特に MacOS 版と区別なく Homebrew と呼称されている。WSL 上の Ubuntu 18.04 と、素の Ubuntu 18.04 マシンとで実際にインストールしてみた。
公式サイトを見ながらインストールしてみる。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
# Enter で進める
インストールが粛々と進む。
sudo su
で root
ユーザになれるユーザで作業していれば、大抵は /home/linuxbrew/
配下に本体が配置される。/home/linuxbrew/
配下へのインストールができないと判断された場合は、自動的に ~/.linuxbrew/
(ユーザホーム) にインストールされるようだ。前者の方がインストール後に出来ることの権限が広いようだ。
自分が普通に試した限りでは /home/linuxbrew/
配下にインストールされた。
続いて、公式ページでは以下の4行のコードを流せと書かれている。
test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)
test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
test -r ~/.bash_profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.bash_profile
echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile
前述のとおり、~/.linuxbrew/
と /home/linuxbrew/
のどちらかにインストールされるので、それを見極めて brew shellenv
を実行しているらしい。brew shellenv
は数行の export
文が出力されるので、コレを eval
することで、brew
コマンドがそのシェルで動作するようになる。
で、あとはこの brew shellenv
が出力する export
文を ~/.profile
と ~/.bash_profile
に記述して恒久的に PATH を通しているワケ。
当方環境では /home/linuxbrew/
にインストールできたので、1行目は無効で2行目が有効。最終的に以下の内容が brew shellenv
から出力された。
$ /home/linuxbrew/.linuxbrew/bin/brew shellenv
export HOMEBREW_PREFIX="/home/linuxbrew/.linuxbrew";
export HOMEBREW_CELLAR="/home/linuxbrew/.linuxbrew/Cellar";
export HOMEBREW_REPOSITORY="/home/linuxbrew/.linuxbrew/Homebrew";
export PATH="/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin${PATH+:$PATH}";
export MANPATH="/home/linuxbrew/.linuxbrew/share/man${MANPATH+:$MANPATH}:";
export INFOPATH="/home/linuxbrew/.linuxbrew/share/info:${INFOPATH}";
自分は ~/.bashrc
に以下のように書いた。root
ユーザ以外で Linuxbrew を有効にするという書き方だ。同じ .bashrc
を root
ユーザのホームに配置した時もエラーが出ないようにしてある。
if [ "$(whoami)" != 'root' ] ; then
# Homebrew Linuxbrew
test -d '/home/linuxbrew/.linuxbrew' && eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
fi
コレで brew
コマンドが動作するようになった。
あとは MacOS と同様にインストールが出来る。よきよき。