WSL開発環境: Homebrewのセットアップ
はじめに
Homebrew は、macOS
で広く利用されるパッケージマネージャーで、Linux や WSL[1] 環境下でも使用できます。
WSL は Windows上で Linux 環境を提供する機能で、開発者にとって非常に便利です。
Homebrew
は、各種パッケージを/home/linuxbrew
下にインストールするため、管理者権限を必要としません。
システムへの影響を最小限に抑えるため、開発環境の構築時に大きな利点となります。
1. 注意事項
Linux版Homebrew[2] では、/home/linuxbrew
下にパッケージを配置しています。
このディレクトリ構造のため、linuxbrew
というユーザーアカウントのホームディレクトリと衝突します。
これを防ぐため、'linuxbrew'というユーザーアカウントを作成することは避けましょう。
2. Homebrewのセットアップ
2.1 パッケージのインストール
Homebrew をインストールするためには、apt
を使用してbuild-essential
[3] などの必要なパッケージをインストールしておきます。
以下のコマンドを実行して必要なパッケージをインストールします:
sudo apt install build-essential gcc procps curl wget file git
2.2 Homebrewのインストール
Homebrew のインストール方法は、brew.shに示されています。
以下のコマンドを実行して、Homebrew をインストールします:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
上記のコマンドを実行すると、下記のようなメッセージが表示されます。
==> Checking for `sudo` access (which may request your password)...
==> This script will install:
/home/linuxbrew/.linuxbrew/bin/brew
.
.
.
Press RETURN/ENTER to continue or any other key to abort:
[ENTER]キーを押すと、インストールを続行します。
.
.
.
==> Next steps:
上記のように、"Next steps:"と表示されれば、インストールは成功しています。
以上で、Homebrew のインストールは完了です。
2.3 環境変数の設定
Homebrew を正しく使用するために、環境変数と PATH を設定する必要があります。
以下のスクリプトを/opt/etc/envrc
[4] に追加して、環境変数を設定してください:
# setup for brew
export HOMEBREW_PREFIX="/home/linuxbrew/.linuxbrew";
if [[ -d "${HOMEBREW_PREFIX}" ]]; then
HOMEBREW_CACHE="${HOMEBREW_PREFIX}/.local/cache"
HOMEBREW_CELLAR="${HOMEBREW_PREFIX}/Cellar";
HOMEBREW_REPOSITORY="${HOMEBREW_PREFIX}/Homebrew";
PATH="${HOMEBREW_PREFIX}/bin:${HOMEBREW_PREFIX}/sbin:${PATH+:$PATH}";
MANPATH="/home/linuxbrew/.linuxbrew/share/man${MANPATH+:$MANPATH}:";
INFOPATH="/home/linuxbrew/.linuxbrew/share/info:${INFOPATH:-}";
export HOMEBREW_PREFIX HOMEBREW_CACHE HOMEBREW_CELLAR HOMEBREW_REPOSITORY
export PATH MANPATH INFOPATH
fi
2.4 Terminalの再起動
Homebrew の設定を有効にするため、Windows Terminal
上で Debian タブを再起動します。
再起動後は、以下のように brew コマンドが使用できます:
$ brew -v
Homebrew 4.2.6
上記のようにバージョンが表示されれば、Homebrew は正常にインストールされています。
おわりに
Homebrew を使用して、WSL上で開発環境を効率的に構築できます。
これにより、開発作業がスムーズに行え、ソフトウェア開発の生産性が向上します。
それでは、Happy Hacking!
Discussion