Maemaemae

WSL2 Ubuntu 24.04 完全セットアップガイド - Node.js & Python開発環境構築

WSL2でUbuntu 24.04を使用した開発環境を構築しました。Node.js(pnpm利用)とPythonの両方に対応した実践的なセットアップ手順を紹介します。

セットアップの全体像

本記事で構築する環境:

- Ubuntu 24.04 LTS(日本語環境)
- Node.js 20.x(nvm管理)
- pnpm(パッケージマネージャー)
- Python 3.12.7(pyenv管理)
- 開発ツール(Git、リンター、テストツール等)

1. システムの基本設定

パッケージの更新

まずシステム全体を最新の状態にします。

sudo apt update && sudo apt upgrade -y

日本語環境の構築

# 日本語言語パックのインストール
sudo apt install -y language-pack-ja

# ロケール設定
sudo update-locale LANG=ja_JP.UTF-8

タイムゾーンの設定

sudo timedatectl set-timezone Asia/Tokyo

2. 基本開発ツールのインストール

必須ツール群

sudo apt install -y \
  build-essential \
  git \
  curl \
  wget \
  vim \
  unzip

インストールされる主要ツール

便利なコマンドラインツール

sudo apt install -y \
  tree \
  htop \
  jq \
  ncdu

各ツールの用途

3. Gitの初期設定

git config --global user.name "rubber-ducking-rm"
git config --global user.email "rubber_ducking@outlook.jp"
git config --global core.quotepath false  # 日本語ファイル名対応

4. Node.js環境の構築

nvmのインストール

Node.jsのバージョン管理ツールnvmを導入します。

# nvmインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# 設定読み込み
source ~/.bashrc

# バージョン確認
nvm --version

Node.jsのインストール

# LTS版のインストール
nvm install --lts

# Node.js 20を指定インストール
nvm install 20

# デフォルトバージョンの設定
nvm alias default 20

# 確認
node -v   # v20.x.x
npm -v    # 10.x.x

pnpmのセットアップ

高速で効率的なパッケージマネージャーpnpmを導入します。

# グローバルインストール
npm install -g pnpm

# バージョン確認
pnpm -v

# 設定確認
pnpm config get store-dir        # ストアディレクトリ
pnpm config get global-bin-dir   # グローバルインストール先
pnpm config get registry         # npmレジストリ

# シェル補完の設定
pnpm completion bash >> ~/.bashrc
source ~/.bashrc

pnpmの主な利点

5. Python環境の構築

pyenv用の依存パッケージ

Pythonビルドに必要なライブラリをインストールします。

sudo apt install -y \
  make \
  libssl-dev \
  zlib1g-dev \
  libbz2-dev \
  libreadline-dev \
  libsqlite3-dev \
  llvm \
  libncurses5-dev \
  libncursesw5-dev \
  xz-utils \
  tk-dev \
  libffi-dev \
  liblzma-dev \
  python3-openssl

pyenvのインストール

# pyenvインストール
curl https://pyenv.run | bash

# 環境変数の設定
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

# 設定読み込み
source ~/.bashrc

# バージョン確認
pyenv --version

Pythonのインストール

# インストール可能なバージョン一覧
pyenv install --list

# Python 3.12.7のインストール
pyenv install 3.12.7

# グローバルデフォルトの設定
pyenv global 3.12.7

# 確認
python --version  # Python 3.12.7
pip --version

pipとツールの更新

# pipを最新版に更新
pip install --upgrade pip

# 基本ツールのインストール
pip install --upgrade setuptools wheel

6. Python開発ツールのセットアップ

コード品質ツール

# リンター・フォーマッター
pip install black flake8 pylint mypy

各ツールの役割

テストツール

pip install pytest pytest-cov

データ分析・対話型環境

# Jupyter Notebook
pip install jupyter notebook

# IPython(拡張対話型シェル)
pip install ipython

セットアップ後の確認

インストール済みツールの確認

# Node.js環境
node -v
npm -v
pnpm -v

# Python環境
python --version
pip --version

# バージョン管理ツール
nvm --version
pyenv --version

# Git設定
git config --list

プロジェクトでの使い方

Node.jsプロジェクト

# プロジェクト初期化
mkdir my-node-project && cd my-node-project
pnpm init

# パッケージのインストール
pnpm add express
pnpm add -D typescript @types/node

# スクリプト実行
pnpm run dev

Pythonプロジェクト

# プロジェクト用の仮想環境作成
mkdir my-python-project && cd my-python-project
python -m venv .venv
source .venv/bin/activate

# パッケージインストール
pip install requests pandas

# 開発ツールの実行
black .
flake8 .
pytest

よくある問題と解決策

nvmコマンドが見つからない

# .bashrcの再読み込み
source ~/.bashrc

# またはシェルの再起動
exec bash

pyenvでのPythonビルドエラー

依存パッケージが不足している可能性があります。

# 依存パッケージの再インストール
sudo apt install -y build-essential libssl-dev zlib1g-dev

pnpmのパス問題

# PATHの確認
echo $PATH

# 必要に応じて.bashrcに追加
export PNPM_HOME="$HOME/.local/share/pnpm"
export PATH="$PNPM_HOME:$PATH"

ベストプラクティス

バージョン管理の活用

Node.jsプロジェクト

# プロジェクトディレクトリで
echo "20.17.0" > .nvmrc
nvm use  # .nvmrcのバージョンを自動適用

Pythonプロジェクト

# プロジェクトディレクトリで
echo "3.12.7" > .python-version
# ディレクトリ移動時に自動切り替え

requirements.txtとpackage.jsonの管理

# Python依存関係のエクスポート
pip freeze > requirements.txt

# Node.js依存関係はpackage.jsonで自動管理
pnpm install  # package.jsonから復元

定期的なメンテナンス

# システムアップデート
sudo apt update && sudo apt upgrade -y

# Node.jsパッケージの更新
pnpm update

# Pythonパッケージの更新
pip list --outdated
pip install --upgrade <package-name>

# 不要なキャッシュのクリア
pnpm store prune
pip cache purge

まとめ

WSL2 Ubuntu 24.04で以下の環境を構築しました:

✓ 基本システム設定

✓ Node.js環境

✓ Python環境

この環境があれば、Web開発からデータ分析まで幅広いプロジェクトに対応できます。プロジェクトごとにバージョンを切り替えながら、効率的な開発が可能です。

参考資料


この記事はWSL2 Ubuntu 24.04、Node.js 20.x、Python 3.12.7を基準としています。

WSL2UbuntuNode.jsPythonpnpmpyenv開発環境