Windows 上に WSL2 の Ubuntu を用意し、開発(特にPython系)でよく使う基本ツールをまとめて入れる手順です。
この記事では、Ubuntu 26.04 LTS を前提に、Python 環境用の uv、Node.js、GitHub CLI、AI コーディングツール、Fresh エディタ、Docker までを順にセットアップします。
最初の WSL2 のインストールだけは Windows 側の PowerShell で実行します。Ubuntu の初期設定が終わった後のコマンドは、基本的に WSL2 上の Ubuntu ターミナルで実行してください。
1. WSL2 を導入する
まず、PowerShell で利用可能な Linux ディストリビューションを確認します。
wsl --list --onlineUbuntu 26.04 LTS が表示される場合は、次のコマンドでインストールできます。
wsl --install -d Ubuntu-26.04wsl --install -d <ディストリビューション名> は、すでに WSL が入っているかどうかで動作が少し変わります。
WSL が入っていない場合
- Linux 用 Windows サブシステム機能を有効化する
- 仮想マシン プラットフォーム機能を有効化する
- WSL 本体をインストールまたは更新する
- 指定したディストリビューションをインストールする
WSL がすでに入っている場合
- 指定したディストリビューションを追加でインストールする
もし Ubuntu-26.04 が一覧にない場合は、wsl --list --online に表示されている Ubuntu の LTS 版を選んでください。
2. Ubuntu の初期設定を行う
インストールが終わると、Ubuntu の初回起動時にユーザー作成を求められます。画面の案内に従って、ユーザー名とパスワードを入力します。
Create a default Unix user account: Ubuntu で使うユーザー名を入力するNew password: パスワードを入力するRetype new password: 同じパスワードをもう一度入力する
このパスワードは、sudo で管理者権限のコマンドを実行するときに使います。入力中は画面に何も表示されませんが、それで正常です。忘れると後で困るので、必ず記録しておいてください。
3. パッケージを更新する
初回起動直後は、古いパッケージ情報や更新前のパッケージが残っていることがあります。まずは apt の情報を更新し、インストール済みパッケージも更新しておきます。
sudo apt update
sudo apt upgrade -ysudo apt updateは、インストール可能なパッケージ情報を最新にします。sudo apt upgrade -yは、更新できるパッケージをまとめて更新します。-yを付けると、途中で表示されるContinue? [Y/n]に自動でyと答えてくれます。
Linux では、開発作業の前に sudo apt update と sudo apt upgrade を実行しておくと、パッケージの古さによるトラブルを避けやすくなります。
4. 基本パッケージをインストールする
開発環境として最低限入れておきたいパッケージをインストールします。
sudo apt install -y \
build-essential \
git \
curl \
wget \
unzip \
zip \
ca-certificates| パッケージ | 用途 |
|---|---|
build-essential | C/C++ のコンパイルに必要な基本セット。Python や Node.js のライブラリを入れるときにも必要になることがあります。 |
git | GitHub などからコードを取得したり、変更履歴を管理したりするために使います。 |
curl | URL からデータを取得します。インストールスクリプトの実行や API の確認でよく使います。 |
wget | URL からファイルをダウンロードします。 |
unzip | .zip ファイルを展開します。 |
zip | .zip ファイルを作成します。 |
ca-certificates | HTTPS 通信の証明書です。curl や git clone https://... で必要になります。 |
curl や ca-certificates は最初から入っていることも多いです。すでに入っているパッケージは apt がスキップするので、そのまま実行して問題ありません。
次のパッケージも、ターミナルで作業するなら入れておくと便利です。
sudo apt install -y \
htop \
tree \
jq \
ripgrep \
fd-find \
tmux| パッケージ | 用途 |
|---|---|
htop | CPU、メモリ、プロセスの状態を見やすく確認できます。 |
tree | ディレクトリ構造をツリー形式で表示できます。 |
jq | JSON を整形・抽出できます。API のレスポンスや設定ファイルの確認に便利です。 |
ripgrep | 高速な文字列検索ツールです。コマンド名は rg です。 |
fd-find | 高速なファイル検索ツールです。Ubuntu ではコマンド名が fdfind になる場合があります。 |
tmux | ターミナルを分割したり、セッションを保持したりできます。SSH や長時間作業で便利です。 |
5. uv をインストールする
uv は高速な Python のパッケージマネージャーです。
主に、次のような用途で使えます。
- Python のバージョン管理
- 仮想環境の作成
- Python パッケージのインストール
- Python プロジェクトの依存関係管理
以下のコマンドでインストールできます。
curl -LsSf https://astral.sh/uv/install.sh | shインストール後は、ターミナルを開き直すか、次のコマンドで PATH を反映します。
source "$HOME/.local/bin/env"バージョンが表示されればインストール完了です。
uv --version6. Node.js をインストールする
Node.js は、nvm を使ってインストールします。nvm を使うと、Node.js のバージョンをプロジェクトごとに切り替えやすくなります。
# nvm をダウンロードしてインストールする
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash
# ターミナルを開き直す代わりに、nvm を現在のシェルへ読み込む
\. "$HOME/.nvm/nvm.sh"
# Node.js 24 系をインストールする
nvm install 24
# Node.js のバージョンを確認する
node -v
# npm のバージョンを確認する
npm -vnode -v で v24.x.x のような表示が出れば、Node.js はインストールできています。
Node.js と一緒に、npm というパッケージ管理ツールもインストールされます。npm は Codex CLI などのツールをインストールするときにも使います。
7. AI ツールをインストールする
ターミナルから使える AI コーディングツールはいくつかあります。ここでは、Codex CLI、Claude Code、OpenCode を紹介します。
それぞれ npm 経由でもインストールできますが、公式のインストールスクリプトが用意されているものもあります。基本的には、どちらか一方の方法でインストールすれば十分です。
Codex CLI
npm 経由でインストールする場合は、次のコマンドを実行します。
npm install -g @openai/codexインストールスクリプトを使う場合は、次のコマンドを実行します。
curl -fsSL https://chatgpt.com/codex/install.sh | shインストール後、以下のコマンドで起動できます。
codex初回起動時に、次のようなサインイン方法の選択画面が表示されます。通常は 1. Sign in with ChatGPT を選べば問題ありません。
Welcome to Codex, OpenAI's command-line coding agent
Sign in with ChatGPT to use Codex as part of your paid plan
or connect an API key for usage-based billing
> 1. Sign in with ChatGPT
Usage included with Plus, Pro, Business, and Enterprise plans
2. Sign in with Device Code
Sign in from another device with a one-time code
3. Provide your own API key
Pay for what you use2. Sign in with Device Code は、GUI がないサーバーなどで別端末のブラウザからサインインしたいときに使います。Device Code を使う場合は、ChatGPT の設定でデバイスコード認証を有効にしておく必要があります。
Claude Code
npm 経由でインストールする場合は、次のコマンドを実行します。
npm install -g @anthropic-ai/claude-codeインストールスクリプトを使う場合は、次のコマンドを実行します。
curl -fsSL https://claude.ai/install.sh | bashインストール後、以下のコマンドで起動できます。
claudeOpenCode
npm 経由でインストールする場合は、次のコマンドを実行します。
npm i -g opencode-aiインストールスクリプトを使う場合は、次のコマンドを実行します。
curl -fsSL https://opencode.ai/install | bash8. Fresh をインストールする
Fresh は、ターミナル上で使える Rust 製のテキストエディタです。コードや設定ファイルを軽く確認したいときに便利です。
インストールは、公式で案内されている curl 経由の方法を使います。
curl https://raw.githubusercontent.com/sinelaw/fresh/refs/heads/master/scripts/install.sh | shインストール後は、次のようにファイル名またはディレクトリ名を指定して起動できます。
fresh <ファイル名 or ディレクトリ名>ディレクトリを指定すると、VS Code のようにファイル一覧を見ながら編集できます。私はよく、カレントディレクトリを開くために次のコマンドで起動しています。
fresh .9. GitHub へ接続する
GitHub CLI を入れておくと、GitHub への認証やリポジトリ操作がターミナルから行いやすくなります。
GitHub CLI をインストールする
以下のコマンドで、GitHub CLI の公式リポジトリを apt に追加し、gh コマンドをインストールします。
(type -p wget >/dev/null || (sudo apt update && sudo apt install wget -y)) \
&& sudo mkdir -p -m 755 /etc/apt/keyrings \
&& out=$(mktemp) \
&& wget -nv -O "$out" https://cli.github.com/packages/githubcli-archive-keyring.gpg \
&& cat "$out" | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg >/dev/null \
&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& sudo mkdir -p -m 755 /etc/apt/sources.list.d \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list >/dev/null \
&& sudo apt update \
&& sudo apt install gh -yGitHub CLI で認証する
まず、認証画面を起動します。
gh auth loginどこで GitHub を使うか聞かれるので、GitHub.com を選択します。
? Where do you use GitHub? [Use arrows to move, type to filter]
> GitHub.com
OtherGitHub への接続方法を聞かれるので、ここでは HTTPS を選択します。
? What is your preferred protocol for Git operations on this host? [Use arrows to move, type to filter]
> HTTPS
SSHGitHub CLIでログインした認証情報を、Gitにも使わせますか?と聞かれるので、Y(Yes)を入力します。
? Authenticate Git with your GitHub credentials? (Y/n) Y認証方法を聞かれたら、この記事では Paste an authentication token を選択します。
? How would you like to authenticate GitHub CLI? [Use arrows to move, type to filter]
Login with a web browser
> Paste an authentication tokenトークンの入力を求められたら、後述の手順で作成した token を貼り付けます。
? Paste your authentication token:token を取得する
authentication token は GitHub の設定画面から取得します。生成した token はパスワードのように扱い、公開リポジトリやブログ本文には貼らないようにしてください。
手順は次の通りです。
- ブラウザから GitHub にサインインする
- 右上のアイコンから
Settingsを開く - 左メニューの一番下にある
Developer settingsを開く Personal access tokensからFine-grained tokensを選択するGenerate new tokenを選択する- token の設定を行う
- 設定後、画面下部の
Generate tokenを押す - 確認画面が表示されたら、内容を確認してもう一度
Generate tokenを押す - 表示された token をコピーし、
? Paste your authentication token:に貼り付ける
token の設定例は次の通りです。
| 項目 | 設定例 |
|---|---|
| Token name | 後から用途が分かる名前を入力する |
| Description | 必要であれば説明を書く。空白でも問題ありません。 |
| Resource owner | 通常はそのままで問題ありません。 |
| Expiration | 有効期限を設定します。迷う場合は 90 日程度がおすすめです。 |
| Repository access | 操作したいリポジトリに合わせて選択します。 |
Repository access は、用途に合わせて次のどれかを選びます。
- パブリックリポジトリだけで
pushしたい場合は、Public repositoriesを選択する - すべてのリポジトリで
pushしたい場合は、All repositoriesを選択する - 特定のリポジトリだけで
pushしたい場合は、Only select repositoriesを選択する
Permissions では、Repository permissions の Contents を Read and write にします。単純に git push するだけであれば、基本的にはこの権限で足ります。Issue や Pull Request の操作まで token 経由で行いたい場合は、追加の権限が必要になることがあります。
token は生成直後にしか表示されません。コピーし忘れた場合は、同じ token を再表示できないため、新しく作り直してください。
GitHub CLI # Installing gh on Linux and BSD https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian-ubuntu-linux-apt (新しいタブで開く)10. Docker をインストールする
Docker のインストール手順は、以前の記事にまとめています。Docker Desktop ではなく、Ubuntu 上に Docker Engine を入れる手順です。
WSL2 上で Docker Engine を直接使いたい場合は、以下の記事を参照してください。Docker Desktop で管理したい場合は、Docker Desktop を使う前提の手順を確認した方が分かりやすいです。
Ubuntu に Docker をインストールする https://hp.lucasmyed.com/blog/posts/docker-install/ (新しいタブで開く)11. まとめ
以上で一通りの手順の説明が終わりました。
各インストール方法については、変化する可能性がありますので、うまくいかない場合は、それぞれ貼り付けられている情報元のリンクから最新の情報を確認してください。