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 ディストリビューションを確認します。

powershell
wsl --list --online

Ubuntu 26.04 LTS が表示される場合は、次のコマンドでインストールできます。

powershell
wsl --install -d Ubuntu-26.04

wsl --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 の情報を更新し、インストール済みパッケージも更新しておきます。

bash
sudo apt update
sudo apt upgrade -y
  • sudo apt update は、インストール可能なパッケージ情報を最新にします。
  • sudo apt upgrade -y は、更新できるパッケージをまとめて更新します。
  • -y を付けると、途中で表示される Continue? [Y/n] に自動で y と答えてくれます。

Linux では、開発作業の前に sudo apt update と sudo apt upgrade を実行しておくと、パッケージの古さによるトラブルを避けやすくなります。

4. 基本パッケージをインストールする

開発環境として最低限入れておきたいパッケージをインストールします。

bash
sudo apt install -y \
  build-essential \
  git \
  curl \
  wget \
  unzip \
  zip \
  ca-certificates
パッケージ用途
build-essentialC/C++ のコンパイルに必要な基本セット。Python や Node.js のライブラリを入れるときにも必要になることがあります。
gitGitHub などからコードを取得したり、変更履歴を管理したりするために使います。
curlURL からデータを取得します。インストールスクリプトの実行や API の確認でよく使います。
wgetURL からファイルをダウンロードします。
unzip.zip ファイルを展開します。
zip.zip ファイルを作成します。
ca-certificatesHTTPS 通信の証明書です。curl や git clone https://... で必要になります。

curl や ca-certificates は最初から入っていることも多いです。すでに入っているパッケージは apt がスキップするので、そのまま実行して問題ありません。

次のパッケージも、ターミナルで作業するなら入れておくと便利です。

bash
sudo apt install -y \
  htop \
  tree \
  jq \
  ripgrep \
  fd-find \
  tmux
パッケージ用途
htopCPU、メモリ、プロセスの状態を見やすく確認できます。
treeディレクトリ構造をツリー形式で表示できます。
jqJSON を整形・抽出できます。API のレスポンスや設定ファイルの確認に便利です。
ripgrep高速な文字列検索ツールです。コマンド名は rg です。
fd-find高速なファイル検索ツールです。Ubuntu ではコマンド名が fdfind になる場合があります。
tmuxターミナルを分割したり、セッションを保持したりできます。SSH や長時間作業で便利です。

5. uv をインストールする

uv は高速な Python のパッケージマネージャーです。

主に、次のような用途で使えます。

  • Python のバージョン管理
  • 仮想環境の作成
  • Python パッケージのインストール
  • Python プロジェクトの依存関係管理

以下のコマンドでインストールできます。

bash
curl -LsSf https://astral.sh/uv/install.sh | sh

インストール後は、ターミナルを開き直すか、次のコマンドで PATH を反映します。

bash
source "$HOME/.local/bin/env"

バージョンが表示されればインストール完了です。

bash
uv --version

6. Node.js をインストールする

Node.js は、nvm を使ってインストールします。nvm を使うと、Node.js のバージョンをプロジェクトごとに切り替えやすくなります。

bash
# 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 -v

node -v で v24.x.x のような表示が出れば、Node.js はインストールできています。

Node.js と一緒に、npm というパッケージ管理ツールもインストールされます。npm は Codex CLI などのツールをインストールするときにも使います。

Node.js https://nodejs.org/ja/download (新しいタブで開く)

7. AI ツールをインストールする

ターミナルから使える AI コーディングツールはいくつかあります。ここでは、Codex CLI、Claude Code、OpenCode を紹介します。

それぞれ npm 経由でもインストールできますが、公式のインストールスクリプトが用意されているものもあります。基本的には、どちらか一方の方法でインストールすれば十分です。

Codex CLI

npm 経由でインストールする場合は、次のコマンドを実行します。

bash
npm install -g @openai/codex

インストールスクリプトを使う場合は、次のコマンドを実行します。

bash
curl -fsSL https://chatgpt.com/codex/install.sh | sh

インストール後、以下のコマンドで起動できます。

bash
codex

初回起動時に、次のようなサインイン方法の選択画面が表示されます。通常は 1. Sign in with ChatGPT を選べば問題ありません。

text
 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 use

2. Sign in with Device Code は、GUI がないサーバーなどで別端末のブラウザからサインインしたいときに使います。Device Code を使う場合は、ChatGPT の設定でデバイスコード認証を有効にしておく必要があります。

OpenAI Developers https://developers.openai.com/codex/cli (新しいタブで開く)

Claude Code

npm 経由でインストールする場合は、次のコマンドを実行します。

bash
npm install -g @anthropic-ai/claude-code

インストールスクリプトを使う場合は、次のコマンドを実行します。

bash
curl -fsSL https://claude.ai/install.sh | bash

インストール後、以下のコマンドで起動できます。

bash
claude
Claude Code Docs https://code.claude.com/docs/ja/overview (新しいタブで開く)

OpenCode

npm 経由でインストールする場合は、次のコマンドを実行します。

bash
npm i -g opencode-ai

インストールスクリプトを使う場合は、次のコマンドを実行します。

bash
curl -fsSL https://opencode.ai/install | bash
OpenCode Docs https://opencode.ai/docs/ja (新しいタブで開く)

8. Fresh をインストールする

Fresh は、ターミナル上で使える Rust 製のテキストエディタです。コードや設定ファイルを軽く確認したいときに便利です。

インストールは、公式で案内されている curl 経由の方法を使います。

bash
curl https://raw.githubusercontent.com/sinelaw/fresh/refs/heads/master/scripts/install.sh | sh

インストール後は、次のようにファイル名またはディレクトリ名を指定して起動できます。

bash
fresh <ファイル名 or ディレクトリ名>

ディレクトリを指定すると、VS Code のようにファイル一覧を見ながら編集できます。私はよく、カレントディレクトリを開くために次のコマンドで起動しています。

bash
fresh .
Fresh https://getfresh.dev (新しいタブで開く)

9. GitHub へ接続する

GitHub CLI を入れておくと、GitHub への認証やリポジトリ操作がターミナルから行いやすくなります。

GitHub CLI をインストールする

以下のコマンドで、GitHub CLI の公式リポジトリを apt に追加し、gh コマンドをインストールします。

bash
(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 -y

GitHub CLI で認証する

まず、認証画面を起動します。

bash
gh auth login

どこで GitHub を使うか聞かれるので、GitHub.com を選択します。

text
? Where do you use GitHub?  [Use arrows to move, type to filter]
> GitHub.com
  Other

GitHub への接続方法を聞かれるので、ここでは HTTPS を選択します。

text
? What is your preferred protocol for Git operations on this host?  [Use arrows to move, type to filter]
> HTTPS
  SSH

GitHub CLIでログインした認証情報を、Gitにも使わせますか?と聞かれるので、Y(Yes)を入力します。

text
? Authenticate Git with your GitHub credentials? (Y/n) Y

認証方法を聞かれたら、この記事では Paste an authentication token を選択します。

text
? 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 を貼り付けます。

text
? Paste your authentication token:

token を取得する

authentication token は GitHub の設定画面から取得します。生成した token はパスワードのように扱い、公開リポジトリやブログ本文には貼らないようにしてください。

手順は次の通りです。

  1. ブラウザから GitHub にサインインする
  2. 右上のアイコンから Settings を開く
  3. 左メニューの一番下にある Developer settings を開く
  4. Personal access tokens から Fine-grained tokens を選択する
  5. Generate new token を選択する
  6. token の設定を行う
  7. 設定後、画面下部の Generate token を押す
  8. 確認画面が表示されたら、内容を確認してもう一度 Generate token を押す
  9. 表示された 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. まとめ

以上で一通りの手順の説明が終わりました。

各インストール方法については、変化する可能性がありますので、うまくいかない場合は、それぞれ貼り付けられている情報元のリンクから最新の情報を確認してください。

ページの先頭へ ↑