WSL環境に基本ソフトをインストールする方法
Ubuntu WSL2環境での開発ツール一括セットアップガイド

Windows Subsystem for Linux 2 (WSL2) は、Windows上でLinuxアプリケーションを実行するための強力な環境です。特にWeb開発やサーバーサイド開発において、その恩恵は計り知れません。この記事では、WSL2上のUbuntuディストリビューションに、現代的な開発に不可欠な基本ソフトウェア群(Node.js, npm, Docker, Git, TypeScript, pnpm)から、オプションのGoogle Cloud SDKやNginxまでをインストールする手順を、詳細な解説付きのチートシート形式で提供します。
前提条件:
- WSL2が既にWindowsにインストールされ、Ubuntuディストリビューションが利用可能であること。
- (WSL2の基本設定については、こちらの記事 (← 実際のリンクに置き換えてください) をご参照ください。)
- コマンドはWSL2のUbuntuターミナル内で実行します。
sudo
が必要なコマンドは、そのように記載しています。
1. Node.jsとnpm、Docker、Gitのインストール
# システムのパッケージリストを更新し、インストール済みのパッケージをアップグレードします sudo apt update && sudo apt upgrade -y # Node.jsとnpmのインストール (NodeSource LTS版) # NodeSourceのリポジトリ設定スクリプトをダウンロードし実行します curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - # Node.jsをインストールします (npmも同時にインストールされます) sudo apt-get install -y nodejs # (補足) Node.jsのバージョンを管理したい場合は、nvm (Node Version Manager) の利用を検討してください。 # nvmのインストール例: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # インストール後、ターミナルを再起動し、nvm install --lts などでNode.jsをインストールします。 # Gitのインストール sudo apt-get install -y git # (補足) Gitの初期設定を行います。コミット時に使用される名前とメールアドレスを設定してください。 # git config --global user.name "your_username" # git config --global user.email "your_email@example.com" # Dockerのインストール # 古いバージョンのDockerがインストールされていれば削除します sudo apt-get remove docker docker-engine docker.io containerd runc # Dockerインストールに必要なパッケージをインストールします sudo apt-get update # 念のため再度パッケージリストを更新 sudo apt-get install -y \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release # Dockerの公式GPGキーを追加します sudo mkdir -p /etc/apt/keyrings # GPGキーの推奨ディレクトリ (存在しない場合作成) curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # DockerのAPTリポジトリを設定します echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # パッケージリストを更新し、Docker Engine, CLI, Containerd, Docker Compose pluginをインストールします sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin # Dockerをsudoなしで実行できるようにユーザーをdockerグループに追加します # この変更を有効にするには、一度WSLを終了して再起動するか、Linuxからログアウトして再ログインする必要があります。 sudo usermod -aG docker $USER
補足説明 (セクション1):
- Node.js/npm: NodeSourceのLTS版をインストールするのは良い方法です。より柔軟なバージョン管理が必要な場合は、
nvm
(Node Version Manager) の利用を検討すると良いでしょう。nvm
を使うとプロジェクトごとに異なるNode.jsバージョンを簡単に切り替えられます。 - Git: インストール後にグローバル設定(ユーザー名とメールアドレス)を行うことを推奨します。コメントアウトされていますが、ほぼ必須の設定です。
- Docker:
- GPGキーの保存場所を
/usr/share/keyrings/
から/etc/apt/keyrings/
に変更しました。これは近年のDebian/Ubuntuでの推奨プラクティスに沿ったものです。 docker-compose-plugin
を明示的にインストールリストに追加しました。これによりdocker compose
コマンドが利用可能になります。sudo usermod -aG docker $USER
の適用には、WSLの再起動やLinuxセッションの再ログインが必要です。単なるシェルの再起動 (exec $SHELL -l
) だけでは不十分な場合があります。
- GPGキーの保存場所を
2. インストール結果の確認 (基本ソフト)
# シェルを再起動してグループ変更やPATH設定を反映させます (WSLの再起動/再ログインがより確実です) exec $SHELL -l # (注意) 上記コマンド実行後、ターミナルが閉じてしまう場合は、手動で新しいターミナルを開いてください。 # バージョン確認コマンド docker --version docker compose version # Docker Compose V2 (plugin) のバージョン確認 git --version node -v npm -v
補足説明 (セクション2):
exec $SHELL -l
: タイプミスsehll
をshell
に修正しました。このコマンドは現在のシェルプロセスを新しいログインシェルで置き換えます。Dockerのグループ権限変更を反映させるために実行します。場合によってはWSL自体の再起動(wsl --shutdown
をPowerShell/CMDで実行後、再度WSLを起動)や、Linuxからの再ログインが最も確実です。
3. オプションソフト(Typescript、pnpm)のインストール
# Typescriptのインストール (グローバル) # (推奨) Node.jsのバージョン管理ツール(nvmなど)を使用している場合や、 # プロジェクトローカルでの管理を推奨する場合は、-g (グローバル)でのインストールは避け、 # 各プロジェクトで開発依存関係 (devDependencies) としてインストールすることが一般的です。 # 例: npm install --save-dev typescript (プロジェクト内) # どうしてもグローバルにインストールしたい場合: sudo npm install -g typescript # (注意) sudo を使ったnpmグローバルインストールは、権限問題や環境の複雑化を招く可能性があるため、 # nvmを使用し、sudoなしでグローバルインストールするか、プロジェクトローカルでの管理を検討してください。 # pnpmのインストール (公式スクリプトを使用) curl -fsSL https://get.pnpm.io/install.sh | sh - # (重要) pnpmのインストール後、PATHを通す設定がシェル設定ファイル (.bashrc, .zshrc など) に # 自動で追記されることが多いですが、手動での設定やシェルの再起動が必要な場合があります。 # インストールスクリプトの指示に従ってください。 # 一般的な追記例 (bashの場合): # export PNPM_HOME="$HOME/.local/share/pnpm" # export PATH="$PNPM_HOME:$PATH" # 設定後、シェルを再起動するか、 source ~/.bashrc (または ~/.zshrcなど) を実行してください。 # (オプション) Google Cloud SDKのインストール # GCloud SDKのインストールは、公式のインストールスクリプトを使用するのが簡単で推奨されます。 # curl -sSL https://sdk.cloud.google.com | bash # その後、ターミナルを再起動し、指示に従って gcloud init を実行します。 # # APT経由でインストールする場合 (最新の手順): # sudo apt-get update # sudo apt-get install -y apt-transport-https ca-certificates gnupg # echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list # curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg # sudo apt-get update && sudo apt-get install -y google-cloud-sdk echo "オプションソフトのインストールが一部完了しました。" echo "pnpmやDockerの変更を完全に有効にするには、シェルを再起動するか、一度ログアウトして再ログインしてください。"
補足説明 (セクション3):
- Typescript:
sudo npm install -g typescript
は動作しますが、Node.jsのバージョン管理ツール(nvmなど)を使用している場合はsudo
なしで実行できます。- 一般的には、TypeScriptのような開発ツールはプロジェクトごとにバージョンを管理するため、プロジェクトの
devDependencies
としてインストールすることが推奨されます (npm install --save-dev typescript
またはpnpm add -D typescript
)。
- pnpm:
- インストールスクリプトは便利ですが、PATH設定が自動で行われない場合や、シェルの種類によっては手動での対応が必要です。インストール時の出力メッセージをよく確認してください。
$HOME/.local/share/pnpm
が一般的なインストール先です。
- Google Cloud SDK:
- コメントアウトされていたAPT経由のインストール手順を、現在の推奨プラクティス(GPGキーの扱いなど)に合わせて修正しました。
- より簡単な方法として、公式のインタラクティブインストーラスクリプト (
curl -sSL https://sdk.cloud.google.com | bash
) を利用することも推奨されます。これにはgcloud init
の実行も含まれ、初期設定がスムーズです。
4. インストール結果の確認 (オプションソフト)
# シェルを再起動 (pnpmのPATH設定などを反映させるため) exec $SHELL -l # (注意) 上記コマンド実行後、ターミナルが閉じてしまう場合は、手動で新しいターミナルを開いてください。 # バージョン確認コマンド # npm ls -g typescript # グローバルにインストールされたtypescriptの情報を表示 # より直接的な確認方法: tsc -v pnpm -v # gcloud --version # Google Cloud SDKをインストールした場合
補足説明 (セクション4):
- TypeScriptのバージョン確認は
tsc -v
の方が直接的で一般的です。npm ls -g typescript
はインストールされているパッケージ情報を表示しますが、コマンド自体の存在確認にはtsc -v
が適しています。
5. Nginxのインストール (Nginx公式リポジトリから)
# Nginxインストールに必要なパッケージをインストール (既にインストール済みのものも含む可能性があります) sudo apt update sudo apt install -y curl gnupg2 ca-certificates lsb-release ubuntu-keyring # Nginxの公式GPGキーをダウンロードし、APTのキーリングに追加します curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null # GPGキーが正しく追加されたか確認 (オプション) # gpg --dry-run --quiet --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg # Nginxの公式APTリポジトリを追加します echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ http://nginx.org/packages/ubuntu $(lsb_release -cs) nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.list # (オプション) Nginx公式リポジトリのパッケージを優先する設定 (Pinning) # これにより、ディストリビューション標準のNginxより新しいバージョンが利用可能になります echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \ | sudo tee /etc/apt/preferences.d/99nginx # パッケージリストを更新し、Nginxをインストールします sudo apt update sudo apt install -y nginx # ------------------------------------------------------ # Nginxのインストール結果の確認 # ------------------------------------------------------ nginx -v # バージョン確認 (sudo は通常不要) # (補足) Nginxの起動・停止・状態確認 (WSL2でsystemdが有効な場合) # sudo systemctl start nginx # sudo systemctl status nginx # sudo systemctl enable nginx # OS起動時に自動起動 # (補足) Nginxの起動・停止 (systemdが利用できない、または旧来の方法) # sudo service nginx start # sudo service nginx status # sudo service nginx stop # # WSL環境では、デフォルトでは80番ポートがWindows側で使われている場合があるため、 # Nginxの設定ファイル (/etc/nginx/conf.d/default.conf など) でポートを変更する必要があるかもしれません。 # 例: listen 8080;
補足説明 (セクション5):
- コマンドは概ね正しいです。Nginx公式リポジトリから最新版をインストールするための良い手順です。
nginx -v
はsudo
なしで実行できることが多いです。- Nginxのサービス管理について補足しました。WSL2でsystemdが有効になっている環境(最近のWSLでは設定可能)であれば
systemctl
が使えます。そうでない場合はservice
コマンドを使用します。 - WSL環境特有の注意点として、ポート競合の可能性について追記しました。
全体的な補足:
- エラー発生時の対処: 各コマンド実行後にエラーメッセージが表示された場合は、その内容をよく読み、検索エンジンで調べるなどして対処してください。
- WSLの再起動:
sudo usermod
によるグループ変更や、一部の環境変数の変更を確実にシステム全体に反映させるためには、シェル (exec $SHELL -l
) の再起動だけでなく、WSLインスタンス自体の再起動(PowerShell/CMDでwsl --shutdown
を実行後、再度WSLを起動)や、PCの再起動が有効な場合があります。 - バックアップ: 重要な設定ファイルを変更する前には、バックアップを取ることを検討してください。