Windows 開発・運用環境 総合リファレンス
【概要】Windows上での開発・運用環境の構築と保守に必要な情報をまとめたリファレンスである。プログラミング言語(Python・C/C++・Java・Perl・Rust・Go など)、ビルドツール(Visual Studio Build Tools・CMake・LLVM)、データベース(MySQL・Firebird・SQL Server)、WSL2によるLinux環境、Windows Developer Configurations による自動環境構築、VirtualBoxとVagrantによる仮想化、MSYS2・MinGW・Cygwinによるツールチェーンを扱う。ソフトウェアのインストールにはwinget(Windows標準パッケージマネージャ)を主に使用し、一部Chocolateyを使用する。システム保守では、Windows Update・DISM・SFCによる修復・Sysinternalsツールを取り上げる。
【目次】
- 0. 基本操作スキルと概念
- 1. Windows基本設定と操作
- 2. Windows のアプリ、データファイル
- 3. プログラミング環境構築
- 4. WSL 2
- 5. Windows システムの運用保守
- 6. 仮想化
- 7. MSYS2・MinGW・Cygwin
- 8. ツール選択ガイド
【サイト内の関連ページ】
0. 基本操作スキルと概念
本リファレンスを活用するために必要な基本的な操作と概念をまとめる。本リファレンス全体を通じて、コマンドプロンプトを開く操作と管理者として実行する操作が頻繁に登場する。
0.1 コマンドプロンプト操作
コマンドプロンプトの開き方
- Windows キーを押す → 検索窓に
cmdと入力 → 「コマンドプロンプト」をクリック - または Windows + R →
cmdと入力 → Enter
起動すると C:\Users\ユーザー名> のようなプロンプトが表示される。
コマンドプロンプトを管理者として開く方法
- Windows キーを押す → 検索窓に
cmdと入力 - 「コマンドプロンプト」を右クリック → 「管理者として実行」
- UAC(ユーザーアカウント制御)の確認ダイアログで 「はい」 をクリック
管理者として起動したコマンドプロンプトのタイトルバーには 「管理者: コマンドプロンプト」 と表示される。
通常権限と管理者権限の違い
- 通常権限: ユーザーフォルダ(
%USERPROFILE%)以下のファイルを変更できる - 管理者権限:
C:\Program Filesなどシステム全体のフォルダ・レジストリ・システム環境変数を変更できる
本リファレンスでは winget install --scope machine を使うインストールやシステム環境変数の変更に管理者権限が必要である。
その他のコマンドプロンプト操作
- コマンドの貼り付け: ウィンドウ内で右クリック → 「貼り付け」(または
Ctrl+V) - ディレクトリの移動(
cdコマンド):cd パス REM 指定したディレクトリへ移動 cd .. REM 一つ上のディレクトリへ cd /d D:\フォルダ REM 別のドライブのディレクトリへ移動 - コマンドの実行完了の判断: プロンプト(
C:\...>)が再び表示されたら完了。長時間かかるコマンドも同様に待つ - コマンドプロンプトの再起動: ウィンドウを閉じ(
exitまたは×ボタン)、新しいコマンドプロンプトを開く。インストール後の環境変数の変更を反映させるために必要である ^(キャレット): バッチファイル・コマンドプロンプトの行継続文字。行末に^を置くと次の行と結合して1つのコマンドとして処理されるREM: コメント行。REMで始まる行は実行されない(例:REM VC++ ランタイム)2> nul: 標準エラー出力をnul(Windowsの破棄デバイス。Linuxの/dev/nullに相当)へリダイレクトし、エラーメッセージを非表示にする
0.2 環境変数・PATH
環境変数とは、OSが管理する名前と値のペアである。プログラムの動作に影響する設定値を保存する仕組みである。例: JAVA_HOME=C:\Program Files\Java\jdk-21
PATH 環境変数とは、コマンドを実行するとき、OSが実行ファイルを探すフォルダの一覧である。セミコロン(;)で区切って複数のフォルダを指定できる。例: PATH=C:\Windows\system32;C:\Program Files\Python312
「PATH が通っている」とはどういう意味か
あるコマンドの実行ファイルが、PATH に登録されたフォルダのいずれかに存在することである。PATH が通っていれば、フォルダ名を省略してコマンド名だけで実行できる。
確認方法: where コマンド名 を実行する。パスが表示されれば通っている。「ファイルが見つかりません。」と表示されれば通っていない。
PATH が通っていない場合に出るエラーの例:
'python' は、内部コマンドまたは外部コマンドとして認識されていません。
システム環境変数とユーザー環境変数の違い
- システム(Machine)環境変数: すべてのユーザーに適用される。
winget install --scope machineでインストールする際に変更される - ユーザー(User)環境変数: ログイン中のユーザーのみに適用される
環境変数変更後の注意: すでに開いているコマンドプロンプトには変更が反映されない。新しいコマンドプロンプトを開き直す必要がある。
よく使われる特殊変数:
%USERPROFILE%: 現在のユーザーのホームフォルダ(例:C:\Users\username)%PROGRAMFILES%:C:\Program Files%TEMP%: 一時ファイルフォルダ
0.3 winget の基本
wingetは、Microsoftが提供するWindows公式のパッケージマネージャである。コマンド一つでソフトウェアのインストール・更新・削除ができる。Windows 11 には標準搭載されている。
主要コマンド:
winget install パッケージID REM インストール
winget upgrade パッケージID REM 更新
winget uninstall パッケージID REM アンインストール
winget search キーワード REM パッケージを検索
winget list REM インストール済みパッケージの一覧
--scope machine と --scope user の違い
--scope machine: 全ユーザー向けにインストールする(管理者権限が必要)。本リファレンスではこちらを標準とする--scope user: 現在のユーザーのみにインストールする
--accept-source-agreements・--accept-package-agreements: インストール時の確認プロンプトを自動で承認するオプション。スクリプトでの自動インストール時に使う。
--override パラメータ: wingetがインストーラーに渡す引数を上書きするオプション。インストーラー固有のオプション(/quiet など)を指定するときに使う。
インストール確認: インストール後に where コマンド名 でパスを確認するか、winget list パッケージID でインストール状態を確認する(PATHが通っているとはどういう意味かも参照)。
0.4 pip の基本
pipは、Pythonの標準パッケージ管理ツールである。PyPI(Python Package Index)からライブラリをインストールできる。
主要コマンド:
python -m pip install パッケージ名 REM インストール
python -m pip uninstall パッケージ名 REM アンインストール
python -m pip list REM インストール済みパッケージの一覧
python -m pip install -U パッケージ名 REM 最新版に更新(upgrade)
-U オプション: 最新版に更新する(upgrade)。すでにインストール済みでも最新版を再インストールする。
表示が止まって見える場合: パッケージのダウンロードやインストール中は一時的に画面の更新が止まる。プロンプトが戻るまで待つ(Ctrl+C で中断可能)。
インストール完了の確認: プロンプトが戻り、Successfully installed ... と表示されれば成功。エラーメッセージが出ていないことも確認する。
0.5 ファイルシステム・パス
Windowsのパスの書き方: ドライブレター + コロン + バックスラッシュ + フォルダ名/ファイル名。フォルダの区切り文字はバックスラッシュ(\)である。例: C:\Program Files\Python312\python.exe
絶対パスと相対パス
- 絶対パス: ドライブレターから始まる完全なパス(例:
C:\Users\username\file.py) - 相対パス: 現在のディレクトリからの相対的なパス(例:
.\file.py、..\folder\file.py)
拡張子: ファイル名末尾のピリオド以降の部分。主な種類: .exe(実行ファイル)、.bat(バッチスクリプト)、.py(Pythonスクリプト)、.java(Javaソースコード)、.c・.cpp(C/C++ソースコード)
拡張子の表示設定: エクスプローラー上部の「表示」→「表示」→「ファイル名拡張子」にチェックを入れる。
ファイル名の大文字・小文字: Windowsのファイルシステム(NTFS)はLinuxと異なり大文字・小文字を区別しない。MyFile.txt と myfile.txt は同じファイルとして扱われる。
0.6 インストール全般の概念
ソフトウェアのインストールとは、実行ファイル・ライブラリ・設定ファイルなどを適切なフォルダにコピーし、必要な設定(レジストリ、環境変数など)を行うことである。
インストール後のコマンドプロンプト再起動: インストール時にPATHが変更された場合、すでに開いているコマンドプロンプトには反映されない。インストール後は新しいコマンドプロンプトを開く。
--scope machine インストール後に全ユーザーが使える理由: システム環境変数のPATHに実行ファイルのフォルダが追加されるため、すべてのユーザーのコマンドプロンプトから使えるようになる。
インストールの確認方法
コマンド名 --versionまたはコマンド名 -v: バージョンが表示されれば使用可能where コマンド名: 実行ファイルのパスが表示されればPATHが通っているwinget list パッケージID: wingetでのインストール状態を確認
サイレントインストール: /quiet・/silent オプションをインストーラーに渡すことで、GUI画面を表示せずにインストールされる。wingetでは --override で指定する。
GUIインストーラーとコマンドラインインストールの違い: GUIインストーラーは画面の指示に従ってクリックしてインストールする。コマンドラインはwingetなどのコマンドを入力してインストールし、自動化・一括処理が可能である。
0.7 ソースコード・コンパイルの基本概念
ソースコード: 人間が書くプログラムのテキストファイルである(例: .c・.cpp・.java・.py ファイル)。
コンパイル: ソースコードをCPUが実行できる機械語(バイナリ)に変換することである。CやC++は実行前にコンパイルが必要。Pythonはインタープリタが逐次実行するためコンパイルは不要。
オブジェクトファイルと実行ファイル
- オブジェクトファイル(
.o・.obj): ソースファイル1つをコンパイルした中間ファイル。そのままでは実行できない - 実行ファイル(
.exe): 複数のオブジェクトファイルをリンクして生成した、OSが直接実行できるファイル
リンク(Link): 複数のオブジェクトファイルとライブラリを結合して実行ファイルを生成する処理である。リンカ(link.exe・lld-link など)が行う。
0.8 テキストエディタ・ファイル操作
文字コード(UTF-8): テキストファイルの文字の表現方式である。本リファレンスのコード例ではUTF-8を前提にしている場合が多い。
- Notepad++: 「エンコード」→「UTF-8(BOMなし)」を選択
- Windowsのメモ帳: 「名前を付けて保存」→「エンコード」で UTF-8 を選択
保存場所とカレントディレクトリ: コマンドプロンプトでスクリプトを実行するには、カレントディレクトリをファイルの保存場所に合わせるか、ファイルのフルパスを指定する。cd フォルダのパス で移動する。
スクリプトファイルを作成して実行するまでの流れ
- テキストエディタで内容を書き、正しい拡張子を付けて保存(例:
hello.py) - コマンドプロンプトでファイルのあるフォルダへ移動(
cd フォルダのパス) - インタープリタで実行(例:
python hello.py、perl hello.pl)
0.9 Windowsのシステム操作
「ファイル名を指定して実行」: Windows + R でダイアログを開く。プログラム名やコマンドを直接入力して実行できる(例: cmd・powershell・notepad)。
スタートメニューの検索窓: Windowsキーを押すと表示される。アプリ名・設定名で検索して直接起動できる。
タスクマネージャー: Ctrl + Shift + Esc(または Ctrl + Alt + Delete → 「タスクマネージャー」)で開く。実行中のプロセスとCPU・メモリ使用量を確認でき、応答しないプロセスを強制終了できる。
Windows Update の確認・実行: スタートメニューの検索窓に「windows update」と入力 → 「Windows Update の設定」を開く → 「更新プログラムのチェック」をクリック(詳細は5.1 Windows Update とバージョン確認を参照)。
1. Windows基本設定と操作
1.1 Windows のクリーンインストール
【概要】 Windows 11のインストール作業では、Media Creation ToolでISOファイルをダウンロードし、USBメディアを直接作成するか、ダウンロードしたISOファイルを使用してRufusで詳細な設定が可能なUSBメディアを作成する。インストールでは、TPM 2.0などのシステム要件を確認後、アップグレードまたはクリーンインストールを実行する。BIOSメニューを表示するには、コマンド「shutdown /r /fw /t 0」を使用する。
【関連する外部ページ】
- Microsoftの公式ページ(Windows 11のISOイメージファイル): https://www.microsoft.com/ja-jp/software-download/windows11
- Rufus (ブータブルメディア作成ツール): https://rufus.ie/ja/
1.2 Windows 11 の基本設定
【概要】Windows 11の基本設定について解説する。不要なプリインストールアプリの削除、ディスクのクリーンアップ、空き領域のゼロフィル(セキュリティ向上のためにデータを消去する手法)、長いパス名制限(従来の260文字制限)の緩和、システムサービスの最適化などの設定をコマンドラインから実行する方法に加え、BIOSへのアクセス、バックアップと復元、トラブルシューティングについても取り上げる。
1.3 Windowsシステムの基本操作ガイド
【概要】Windows 11では、ウィンドウのサイズ変更、移動、最大化・最小化などのウィンドウ操作が基本となる。このほか、コマンドプロンプト(cmd)によるコマンドライン操作、テキストエディタ(メモ帳)での文書編集、ファイルのコピー・切り取り・貼り付け・名前変更・削除といったファイル操作など、多くの機能を利用できる。
2. Windows のアプリ、データファイル
2.1 Windows のさまざまなアプリケーション
ソフトウェアのインストール方法として、wingetによる自動一括インストールと、ソフトウェアごとの手動インストールの二通りがある。目的に応じて使い分けること。
- Windows の種々のソフトウェアのインストール・設定、ローカルAIの導入(wingetによる自動一括インストール)
【概要】Windowsでは、Microsoft社が提供するwinget(Windows Package Manager)を活用し、ビルドツール、開発環境、ユーティリティなどのソフトウェアを効率的にインストールできる。複数のソフトウェアをまとめて環境構築したい場合に適している。
- Windows の種々のソフトウェアのインストール(ソフトウェアごとの手動インストール手順): 別ページ »で説明
特定のソフトウェアについて詳細な手動インストール手順を調べたい場合に適している。インストーラーのUIや手順が実際と異なる場合は、ソフトウェアの公式サイトを参照すること。
2.2 ローカルLLM・RAG・AIエージェント
- 手元の PC で完結するローカル LLM 活用 ― チャット・図の理解・RAG を体験する(Ollama+Open WebUI/CPU/GPU 対応・Windows)
【概要】Windows上でOllama(推論基盤)とOpen WebUI(操作画面)を用い、データを外部送信しないローカルLLM環境を構築する手順のガイドと演習である。軽量モデルで動作を確認した後、画像入力対応のgemma4系モデルでチャットおよび図・表・数式の読み取りを体験する。RAG(検索拡張生成)については、bge-m3で文書を検索し、rerankerで再順位付けし、質問への対応力を高める。図表・数式を含む文書については、Doclingとの連携により表構造や図中テキストを保持し抽出精度を向上できる。
- 手元の PC で動作するAIアシスタント — Ollama・Open WebUI・Super Agent Party によるマルチモーダル/RAG/AI エージェント環境の構築(CPU/GPU 対応・Windows)
【概要】OllamaとOpen WebUIで、データを外部送信しないローカルLLM環境をWindows上に構築できる。軽量モデルで動作確認した後、gemma4系モデルで画像入力に対応する。Super Agent Partyを使い、音声対話・ロールプレイ・物語生成・Discordボット・RAGをローカル実行で試すことができる。
2.3 テキストエディタ (Visual Studio Code, Notepad++, Emacs)
テキストエディタは、テキストファイルを編集する機能を持つソフトウェアである。プログラミングや設定ファイルの編集に不可欠である。テキストエディタ・ファイル操作の基本については0.8 テキストエディタ・ファイル操作を参照すること。
Windowsには「メモ帳 (notepad)」などのテキストエディタが標準で搭載されている。より高機能なエディタとして、Visual Studio Code、Notepad++、EmacsなどがWindowsで利用可能である。これらは、シンタックスハイライト、コード補完、デバッグ支援などの機能を持ち、プログラミングや文書作成において利用されている。
Visual Studio Code (VS Code)
Visual Studio Codeは、Microsoftが開発する高機能かつ拡張性の高い、無料のソースコードエディタである。多くのプログラミング言語に対応し、デバッグ機能、Git連携、豊富な拡張機能によるカスタマイズ性が特徴である。Web開発から機械学習まで幅広い用途で利用されている。インストール手順と拡張機能の設定については「Windowsのさまざまなアプリケーション」の「3. 開発環境」セクションで説明している。
【関連する外部ページ】
- Visual Studio Codeの公式ダウンロードページ: https://code.visualstudio.com/Download
- Visual Studio Codeの公式ページ: https://azure.microsoft.com/ja-jp/products/visual-studio-code
【サイト内の関連ページ】
- WindowsでのVisual Studio Codeのインストール、設定(winget未使用): 別ページ »で説明
- Visual Studio CodeでPythonプログラミング(Windows上)
- Pythonのステップ実行、オブジェクトをビジュアルに観察(Visual Studio CodeのPython Previewを使用)
Notepad++
Notepad++は、Windows標準のメモ帳より高機能な、無料のテキストエディタである。多数のプログラミング言語に対応したシンタックスハイライト、自動補完、プラグインによる機能拡張、文字コード変換、正規表現検索・置換などが特徴である。
Notepad++ のインストール(Windows上)
- Windowsで、コマンドプロンプトを管理者権限で起動する
- 次のコマンドを実行する (wingetを使用):
winget install --scope machine Notepad++.Notepad++ powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine'); if ($oldpath -notlike '*C:\Program Files\Notepad++*') { $newpath = $oldpath + ';C:\Program Files\Notepad++'; [System.Environment]::SetEnvironmentVariable('Path', $newpath, 'Machine') }"(2行目はNotepad++のフォルダをPATHに追加する。環境変数・PATHの基本も参照)
【関連する外部ページ】
- Notepad++の公式ダウンロードページ: https://notepad-plus-plus.org/downloads/
【サイト内の関連ページ】
- WindowsでのNotepad++のインストール(wingetを使用しない方法): 別ページ »で説明
Notepad++の設定
- Emacs風キーバインド設定:
- プラグインマネージャーで「EmacsPlusPlus」をインストール
- Notepad++を再起動
- 「設定」>「ショートカットキー管理」でカスタマイズ可能(完全互換ではない)
- 自動バックアップ設定: 「設定」>「環境設定」>「バックアップ」で設定
- 文字コード設定: 「エンコード」メニューで選択(例: UTF-8)
- 画面端での折り返し設定: 「表示」メニュー > 「行を折り返す」にチェック
Emacs エディタ
Emacsは、Lisp言語による拡張性を持つテキストエディタであり、統合開発環境としても利用される。キーボード中心の操作が特徴で、テキスト編集からシェル実行まで幅広い機能を持つ。
主要な操作例:
- ファイル操作:
Ctrl+x Ctrl+f(開く)、Ctrl+x Ctrl+s(保存)、Ctrl+x Ctrl+c(終了) - 編集:
Ctrl+k(行末までカット)、Ctrl+y(貼り付け)、Ctrl+/(アンドゥ) - その他:
Alt+x(コマンド名入力)
Emacs のインストール(Windows上)
REM Emacs をシステム領域にインストール
winget install --scope machine GNU.Emacs --force
REM Emacs のパスを自動検出して PATH に追加
powershell -NoProfile -Command "$d=Get-ChildItem 'C:\Program Files\Emacs' -Directory|Where-Object{$_.Name -match '^emacs-\d'}|Sort-Object{[version]($_.Name -replace '^emacs-','')} -Descending|Select-Object -First 1; if($d){$p=$d.FullName+'\bin'; $c=[Environment]::GetEnvironmentVariable('Path','Machine'); if((Test-Path $p) -and (';'+$c+';' -notlike \"*;$p;*\")){[Environment]::SetEnvironmentVariable('Path',\"$c;$p\",'Machine')}}"
【関連する外部ページ】
- Emacsの公式ダウンロードページ: https://www.gnu.org/software/emacs/download.html
【サイト内の関連ページ】
- WindowsでのEmacs 28.2のインストール(wingetを使用しない方法)と設定: 別ページ »で説明
2.4 データファイル (CSV)
CSV (Comma Separated Values)
CSVは、データをカンマ(,)で区切って格納する、プレーンテキストのファイル形式である。表形式のデータを単純な形式で保存・交換するためによく用いられる。
Microsoft Excel形式のCSVファイルの例と特徴:
りんご,150,4,200,"12月30日に購入した、美味しい品種"
みかん,30,2,60,"""甘夏""は売り切れ"
- 各行が1つのデータレコード(行)を表す
- 各レコード内のフィールド(列)は半角カンマで区切られる
- フィールド内にカンマや改行、ダブルクオート(
")が含まれる場合、フィールド全体をダブルクオートで囲む - フィールド内のダブルクオートは、
""のように2つ続けて表現する
2.5 その他便利ツール
フリーソフトウェアは無償で利用できるが、ライセンス条件はソフトウェアごとに異なる。利用前にライセンスを確認し、遵守すること。本節で使用するすべてのインストールコマンドは管理者権限のコマンドプロンプトで実行する。
【環境構築・仮想化】
-
Docker Desktop
- 概要: コンテナ技術を用い、OS環境に依存しないアプリケーション実行環境を構築・仮想化する。開発環境の再現性を担保できる。
- インストール:
winget install --scope machine --id Docker.DockerDesktop
-
Anaconda3
- 概要: データサイエンスや機械学習に必要なライブラリを一括で導入できるPythonディストリビューション。パッケージ管理ツール
condaも含む。(インストール詳細 ») - インストール:
winget install --scope machine --id Anaconda.Anaconda3
- 概要: データサイエンスや機械学習に必要なライブラリを一括で導入できるPythonディストリビューション。パッケージ管理ツール
-
Miniconda3
- 概要: Anacondaの最小構成版。必要なライブラリのみを選択して導入したい場合に適しており、ディスク容量を節約できる。URL: https://docs.conda.io/en/latest/miniconda.html
- インストール手順(手動):
- インストーラのダウンロード:
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe - インストール実行(全ユーザ対象、PATH追加):
start /wait "" Miniconda3-latest-Windows-x86_64.exe /InstallationType=AllUsers /AddToPath=1 /RegisterPython=1 /S /D=C:\Miniconda3
詳細: 別ページ »
- インストーラのダウンロード:
【プログラミング・統計・データ処理】
-
R
- 概要: 統計解析および高度なグラフ作成機能を持つプログラミング言語。大規模なデータセットの処理や統計モデリングに使用する。(インストール詳細 »)
- インストール:
winget install --scope machine --id RProject.R
-
RStudio Desktop
- 概要: R言語のための統合開発環境(IDE)。コード補完、変数確認、グラフ表示を単一のウィンドウで行える。
- インストール:
winget install --scope machine --id Posit.RStudio
-
Octave
- 概要: 数値解析用のプログラミング言語。商用ソフトMATLABと高い互換性を持ち、数値シミュレーションを行える。
- インストール:
winget install --scope machine --id GNU.Octave
-
SQLiteman
- 概要: SQLiteデータベースを視覚的に操作するGUIツール。SQLコマンドを入力せずにデータの閲覧や簡易な編集が可能である。wingetで提供されていないため、以下の手順でインストールする。
- インストール(手動):
cd /d c:%HOMEPATH% curl -L -O https://sourceforge.net/projects/sqliteman/files/sqliteman/1.2.2/Sqliteman-1.2.2-win32.zip cd c: powershell Expand-Archive -DestinationPath . %HOMEPATH%\Sqliteman-1.2.2-win32.zip powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable("Path", "Machine"); $oldpath += ";c:\Sqliteman-1.2.2"; [System.Environment]::SetEnvironmentVariable("Path", $oldpath, "Machine")"
【開発エディタ・ツール】
-
Android Studio
- 概要: Googleが提供するAndroidアプリ開発の公式統合開発環境。エミュレータやデバッグツールが統合されている。
- インストール:
winget install --scope machine --id Google.AndroidStudioインストール後、初回起動時にセットアップウィザードに従いSDK等を設定する必要がある。
【エンジニアリング・CAD・GIS・文書作成】
-
Blender: モデリング、レンダリング、アニメーション作成などの機能を持つ3次元CG・アニメーションソフトウェアである。(インストール詳細 »)
winget install --scope machine blender -
FreeCAD: パラメトリックモデリングに対応した3D CADソフトウェア。機械部品の設計や寸法管理に適している。
winget install --scope machine --id FreeCAD.FreeCAD -
KiCad: 電子回路設計およびプリント基板(PCB)設計のためのEDAツール。回路図作成から基板レイアウトまで一貫して行える。
winget install --scope machine --id KiCad.KiCad -
QGIS: オープンソースの地理情報システム(GIS)。地理空間データの可視化、編集、分析に使用する。
winget install --scope machine --id OSGeo.QGIS -
LaTeX (TeX Live): 数式の記述に優れた組版システム。論文や技術報告書の作成に使用される。
winget install --scope machine --id TUG.TeXLive
【CG・映像・音声処理】
-
GIMP: レイヤー機能や豊富なフィルターを持つ画像編集ツール。写真の補正や複雑な画像合成が可能である。
winget install --scope machine --id GIMP.GIMP -
Shotcut: 豊富なフィルターを備えた動画編集ソフトウェアである。
winget install --scope machine --id Meltytech.Shotcut -
OBS Studio: ライブ配信や画面録画に使われるソフトウェアである。
winget install --scope machine --id OBSProject.OBSStudio -
Audacity: マルチトラック編集、ノイズ除去、エフェクト適用などが可能な音声編集ツールである。
winget install --scope machine --id Audacity.Audacity -
OpenShot Video Editor: オープンソースの動画編集ソフト。カット編集やエフェクト追加を行える。
winget install --scope machine --id OpenShot.OpenShot -
Avidemux: 動画の再エンコードなしでのカット編集やフィルタ処理が可能なツール。編集による画質劣化を防げる。(インストール詳細 »)
winget install --scope machine --id Avidemux.Avidemux -
K-Lite Codec Pack (Full): Windows標準では再生できない形式のメディアファイルを再生可能にするコーデックパック。
winget install --scope machine --id CodecGuide.K-LiteCodecPack.Full - AG-デスクトップレコーダー: デスクトップ画面を録画するツール。操作手順の記録やデモ動画の作成に使用する。公式ページよりダウンロード(winget未提供)。
- FFmpeg: 動画・音声処理コマンドラインツール。(インストール詳細[PDF] »)
【テキスト・翻訳・閲覧】
-
PDF-XChange Editor: PDF閲覧・編集ソフト。注釈機能を備え、文献へのメモ書きに利用できる。
winget install --scope machine --id TrackerSoftware.PDF-XChangeEditor -
DeepL: 翻訳ツール。
winget install --scope machine --id DeepL.DeepL - mlrep(複数行ファイル置換): 複数ファイルに対し、複数行にわたる文字列を一括置換するツール。コードやデータファイルの修正作業を自動化できる。公式ページよりダウンロード(winget未提供)。
-
draw.io Desktop: フローチャート、ER図、ネットワーク図などを作成できる作図ツール。公式ページよりダウンロード、またはwingetを使用:
winget install --scope machine --id JGraph.Draw
【ファイル管理・検索・ディスク管理】
-
Files: エクスプローラー代替となるファイルマネージャ。
winget install --scope machine --id FilesCommunity.Files -
Search Everything: 高速ファイル名検索ツール。(インストール詳細 »)
winget install --scope machine --id voidtools.Everything -
AnyTXT Searcher: ファイル内容の全文検索ツール。
winget install --scope machine --id AnyTXT.AnyTXTSearcher -
WinDirStat: ディスク使用状況を可視化するツール。容量を圧迫している巨大なファイルやディレクトリを視覚的に特定できる。
winget install --scope machine --id WinDirStat.WinDirStat -
FastCopy: 高速なファイルコピー・削除ツール。OS標準機能よりも高速に大量のデータをバックアップ・移動できる。
winget install --scope machine --id Shirouzu.FastCopy -
FreeFileSync: フォルダ間の比較・同期ツール。変更されたファイルのみを検出して同期する。
winget install --scope machine --id FreeFileSync.FreeFileSync - Rainbow Folders: フォルダアイコンの色を変更するツール。重要なフォルダを色分けする。公式ページよりダウンロード(winget未提供)。
-
SD Memory Card Formatter: SDカードの規格に準拠した公式フォーマットツール。
winget install --scope machine --id SDA.SDMemoryCardFormatter - DriveWipe: ディスク上のデータを完全に消去するツール。機密データを含むストレージを廃棄・譲渡する際のセキュリティ対策として使用する。公式ページよりダウンロード(winget未提供)。
【画像・図解】
-
paint.net: ペイントソフト。
winget install --scope machine --id dotPDN.PaintDotNet - JCPicker: 画面上の任意の色コードを取得するツール。Webデザインや資料作成時の色合わせに利用する。公式ページよりダウンロード(winget未提供)。
- Plot Digitizer: 画像化されたグラフから座標値を読み取るツール。元データがないグラフから数値を復元する際に有用である。公式ページよりダウンロード(winget未提供)。
【システム・ネットワーク・その他】
-
HWiNFO64: ハードウェアの詳細情報を表示するツール。CPU温度や電圧などのセンサー情報をリアルタイムで監視し、システムの状態を確認できる。
winget install --scope machine --id REALiX.HWiNFO -
Advanced IP Scanner: ネットワーク内のデバイスをスキャンするツール。IPアドレスやMACアドレスを特定できる。
winget install --scope machine --id Famatech.AdvancedIPScanner - TCP Monitor Plus: 通信状況を監視するネットワークモニタ。トラフィック量や通信確立状況を確認し、ネットワークトラブルの原因調査に利用する。公式ページよりダウンロード(winget未提供)。
-
Google Earth Pro: 高精細な3D地球儀ソフトウェア。地形データの確認や地理情報の計測・可視化に使用する。(インストール詳細 »)
winget install --scope machine --id Google.EarthPro -
Rufus: ISOイメージから起動可能なUSBドライブを作成するツール。OSのインストールメディア作成時に使用する。
winget install --scope machine --id Rufus.Rufus -
ProduKey (NirSoft): WindowsやOffice製品のプロダクトキーを表示するツール。ライセンス管理や再インストール時のキー確認に使用する(入手元に注意)。
winget install --scope machine --id NirSoft.ProduKey -
FileZilla: FTP/SFTPクライアント。(インストール詳細 »)
winget install --scope machine --id TimKosse.FileZilla.Client - keyhac (fakeymacs): Emacs風キーバインドをWindows全体に適用するツール。(GitHub)
3. プログラミング環境構築
3.1 Python とツール (pip, uv, venv, Jupyter など)
ここでは主にPython 3.12を例に説明する。プロジェクトに応じて適切なバージョンを選択すること。最新の安定版についてはPython公式サイトを確認すること。
Python
Pythonは、読みやすく書きやすい文法、豊富な標準ライブラリ、活発なコミュニティを持つプログラミング言語である。Web開発、データサイエンス、機械学習、自動化など幅広い分野で利用されている。
Python 3.12 のインストール手順(wingetを使用)は「Windowsのさまざまなアプリケーション」の「3. 開発環境」セクションで説明している。wingetを使用しない方法は別ページ »で説明している。
インストールの確認
コマンドプロンプトで以下を実行する。
python --version
バージョン番号(例:Python 3.12.x)が表示されればインストール成功である。「'python' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していない(PATHが通っているとはどういう意味かを参照)。
【サイト内の関連ページ】
- Python詳細ガイド:別ページ »
- Windows での Python 3.10、関連パッケージ等のインストール(winget未使用): 別ページ »
- Windows での Anaconda3 のインストール: 別ページ »
- Windows、Ubuntu での Python 起動コマンドについて:別ページ »
pip: Python パッケージ管理
pipは、Pythonの標準的なパッケージ管理システムである。PyPI (Python Package Index) などからライブラリやツールをインストール、更新、削除できる。pipの基本的な使い方については0.4 pip の基本を参照すること。
pipの更新と主要な開発ツールのインストール例:
- Windowsで、コマンドプロンプトを管理者権限で起動する
- 次のコマンドを実行する:
python -m pip install -U pip setuptools python -m pip install requests notebook jupyterlab jupyter jupyter-console jupytext PyQt5 nteract_on_jupyter spyder
pipの詳細: 別ページ »
uv: 高速Pythonパッケージ・プロジェクトマネージャ
uvは、Astral社が開発するRust製の高速Pythonパッケージ・プロジェクトマネージャである。pip・pip-tools・virtualenv・pyenv・Poetry をすべて置き換える単一ツールとして設計されており、キャッシュを活用した並列処理により pip の 10〜100倍の速度でパッケージをインストールできる。Microsoft の Windows Developer Configurations(3.6節参照)にも標準で含まれている(Python 3.14 + uv)。
uv のインストール(Windows上)
winget install --scope machine --id astral-sh.uv
インストール後、新しいコマンドプロンプトを開いて uv --version でバージョンを確認する。
主要コマンド:
uv pip install パッケージ名 REM pip の代替(高速)
uv venv REM 仮想環境の作成
uv run script.py REM スクリプトの実行(依存関係を自動解決)
uv python install 3.12 REM Pythonバージョンの管理
uv init プロジェクト名 REM 新規プロジェクトの作成
uv add パッケージ名 REM プロジェクトへの依存パッケージ追加
【関連する外部ページ】 https://docs.astral.sh/uv/
venv: Python 仮想環境
venvは、Pythonプロジェクトごとに独立した実行環境(仮想環境)を作成するための標準モジュールである。プロジェクトごとに異なるバージョンのパッケージを使用でき、依存関係の衝突を防ぐのに役立つ。uvを使う場合は uv venv で同等の環境を高速に作成できる。
venvの詳細: 別ページ »
Python デバッガ
Pythonプログラムのデバッグには以下のツールを用途に応じて選択する。
- pdb(組み込みデバッガ): Python標準ライブラリに含まれるコマンドラインデバッガ。インストール不要で即座に使用できる。
コード内にpython -m pdb script.pybreakpoint()(Python 3.7以降)またはimport pdb; pdb.set_trace()を挿入してブレークポイントを設定することもできる。 - debugpy: VS Codeなどのエディタと連携するデバッグアダプタ。VS CodeのPython拡張機能に同梱されており、GUIでのブレークポイント設定・変数の確認・ステップ実行が可能である。
python -m pip install debugpy - pudb: ターミナル上でビジュアルにデバッグできるフルスクリーン対応デバッガ。SSHセッションなどGUIが使えない環境でも使いやすい。
python -m pip install pudb python -m pudb script.py
Visual Studio Code でのグラフィカルなデバッグ方法についてはVisual Studio CodeでPythonプログラミングを参照すること。
Python 開発ツール
- Google Colaboratory: Webブラウザ上でPythonコードを実行できるサービスである。機械学習の教育や実験に適している。(詳細は別ページ »)
- Jupyter Qt Console: リッチな表示機能を持つ対話型Pythonコンソールである。(詳細は別ページ »)
- Jupyter Notebook: コード、テキスト、可視化を組み合わせた文書を作成・共有できるWebアプリケーションである。データ分析や教育で利用される。(詳細は別ページ »)
- JupyterLab: Jupyter Notebookの後継となる、Webベースの開発環境である。(詳細は別ページ »)
- Spyder: 科学技術計算に特化したPython統合開発環境(IDE)である。(詳細は別ページ »)
- PyCharm: JetBrains社が開発するPython IDEである。コード補完、デバッグ、テスト機能を備える。Community Editionは無料である。(詳細は別ページ » / Windowsインストール »)
- Anaconda3: データサイエンス向けのPythonディストリビューションである。多くの科学技術計算ライブラリやツールが同梱され、パッケージ管理ツールcondaも利用可能である。(詳細は別ページ »)
その他のPython関連情報
- 複数の Python の同時インストール(uvを使う場合は
uv python install バージョンで管理できる)(詳細は別ページ ») - Python ランチャー (
pyコマンド) (詳細は別ページ ») - virtualenv, virtualenv-wrapper (venv以前の仮想環境ツール。現在はvenvまたはuvの使用を推奨) (詳細は別ページ »)
- Poetry (依存関係管理とパッケージングツール。uvが利用可能な環境ではuvの利用を推奨する)
- インストール:
curl -sSL https://install.python-poetry.org | python - - アンインストール:
curl -sSL https://install.python-poetry.org | python - --uninstall
- インストール:
- Python の setup.py の実行 (パッケージのビルド・インストール) (詳細は別ページ »)
- Python コンソール (対話モード) (詳細は別ページ »)
- Blender の Python コンソール (詳細は別ページ »)
- 2to3 (Python 2から3へのコード変換ツール) (詳細は別ページ »)
- Windows での、標準Python と Anaconda 内の Python の共存 (詳細は別ページ »)
3.2 C/C++ とツール (Visual Studio, Build Tools, CMake など)
C/C++のコンパイルに関する基本概念は0.7 ソースコード・コンパイルの基本概念を参照すること。
Build Tools for Visual Studio
Build Tools for Visual Studio は,Visual Studio の IDE を含まない C/C++ コンパイラ,ライブラリ,ビルドツール等のコマンドライン向け開発ツールセットである。
Visual Studio
Visual Studio は統合開発環境であり,Build Tools for Visual Studio と連携して使用する。
Build Tools for Visual Studio 2022 のインストール(Windows 上)
以下のコマンドを管理者権限のコマンドプロンプトで実行する
(手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。
REM VC++ ランタイム
winget install --scope machine --id Microsoft.VCRedist.2015+.x64 -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/quiet /norestart"
REM Build Tools + Desktop development with C++(VCTools)+ 追加コンポーネント(一括)
winget install --id Microsoft.VisualStudio.2022.BuildTools --accept-source-agreements --accept-package-agreements ^
--override "--passive --wait --norestart --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.ComponentGroup.ClangCL --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.Windows11SDK.26100"
--add で追加されるコンポーネント
VCTools:C++ デスクトップ開発ワークロード(--includeRecommendedにより、MSVC コンパイラ、C++ AddressSanitizer、vcpkg、CMake ツール、Windows 11 SDK 等の推奨コンポーネントが含まれる)VC.Llvm.Clang:Windows 向け C++ Clang コンパイラClangCL:clang-cl ツールセットを含むコンポーネントグループ(MSBuild から Clang を使用するために必要)VC.CMake.Project:Windows 向け C++ CMake ツールWindows11SDK.26100:Windows 11 SDK(ビルド 10.0.26100)
インストール完了の確認
winget list Microsoft.VisualStudio.2022.BuildTools
Visual Studio 2026 での同等の手順は「Windowsのさまざまなアプリケーション」の「3. 開発環境」セクションを参照すること。
Visual Studio Community 2022 の追加インストール(Windows 上)
Build Tools では対応できないケース(GUI でのコード編集・デバッグ・プロファイリング、C++/CLI による .NET との相互運用開発、NuGet パッケージマネージャーの GUI 使用)がある場合は Build Tools の環境に Visual Studio Community 2022 を追加インストールできる。
以下のコマンドの実行前に、Build Tools for Visual Studio 2022 のインストールを終えておくこと。
winget install --scope machine --accept-source-agreements --accept-package-agreements Microsoft.VisualStudio.2022.Community --override "--quiet --add Microsoft.VisualStudio.Workload.NativeDesktop Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core Microsoft.VisualStudio.Component.VC.CLI.Support Microsoft.VisualStudio.Component.CoreEditor Microsoft.VisualStudio.Component.NuGet Microsoft.VisualStudio.Component.Roslyn.Compiler Microsoft.VisualStudio.Component.TextTemplating Microsoft.VisualStudio.Component.Windows11SDK.26100 Microsoft.VisualStudio.Component.VC.Tools.x86.x64 Microsoft.VisualStudio.Component.VC.ATL Microsoft.VisualStudio.Component.VC.ATLMFC Microsoft.VisualStudio.Component.VC.Llvm.Clang Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset Microsoft.VisualStudio.Component.VC.CMake.Project Microsoft.VisualStudio.Component.VC.ASAN Microsoft.VisualStudio.Component.Vcpkg"
Visual Studio Community は無償だが、企業利用にはライセンス条件(個人開発者、オープンソース開発、学術研究、小規模組織に限定)があり、条件を満たさない場合は Professional 以上のエディションが必要となる。
インストール完了の確認
winget list Microsoft.VisualStudio.2022.Community
Build Tools for Visual Studio 2026 のインストール(Windows 上)
Visual Studio 2026 での Build Tools および Visual Studio Community のインストール手順は「Windowsのさまざまなアプリケーション」の「3. 開発環境」セクションで説明している。
Visual Studio の Native Tools コマンドプロンプト
Visual Studio の C/C++ コンパイラやビルドツールをコマンドラインから利用するには,Native Tools コマンドプロンプトを使用する。このコマンドプロンプトは,コンパイラやリンカの実行に必要な環境変数(PATH,INCLUDE,LIB など)が設定された状態で起動する。
起動方法:Windowsキーまたはスタートメニューで「Native Tools」と入力し,表示される「x64 Native Tools Command Prompt for VS 2022」等を選択する。64 ビット環境では「x64 Native Tools」を,32 ビットビルドが必要な場合は「x86 Native Tools」を選択する。
起動後、where cl を実行するとコンパイラ(cl.exe)のパスが表示される。
【vcvarsall.bat による環境設定】
通常のコマンドプロンプトでVisual Studioのビルド環境を利用したい場合は、vcvarsall.batを実行して環境変数を設定できる。
rem 64ビット開発環境用
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
rem 32ビット開発環境用
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
(vcvarsall.batのパスはVisual Studioのバージョンやエディションによって異なる場合がある)
Microsoft Visual Studio のバージョン番号
Visual Studioの内部バージョン番号は、ツールセットの選択などで参照されることがある。
Visual Studio 2013: vc12 Visual Studio 2015: vc14 Visual Studio 2017: vc15 Visual Studio 2019: vc16 Visual Studio 2022: vc17
Windows での C/C++ コンパイラ選択肢
Windowsにおける主要なC/C++コンパイラ環境:
- Microsoft Visual C++ (MSVC): Visual Studio または Build Tools for Visual Studio に含まれる。Windowsプラットフォームの標準的なコンパイラである。
cl.exeコマンドで利用する。 - MinGW-w64 / MSYS2 (GCC/Clang): Windowsネイティブな実行ファイルを生成するGNUツールチェイン。クロスプラットフォーム開発やLinux由来のツールとの連携に適している。詳細は7章を参照。
- Cygwin (GCC/Clang): Cygwin環境で提供されるGCCやClangである。POSIX互換レイヤー(Unix系OSとの互換性を提供する仕組み)上で動作する。詳細は7章を参照。
MinGW/MSYS2 環境でのコンパイル例 (GCC)
hello.c をコンパイルし、実行ファイル hello.exe を生成する例:
# 通常のコンパイル
gcc hello.c -o hello.exe
# デバッグ情報付きでコンパイル
gcc -g hello.c -o hello.exe
# 依存DLLの確認 (objdumpコマンド)
objdump -p hello.exe | findstr "DLL Name"
デバッガ gdb
gdb (GNU Debugger) は、GCCやClangでコンパイルされたプログラムのデバッグに用いられるコマンドラインデバッガである。MSYS2・MinGW-w64・Cygwin環境に含まれる。
基本的な使い方:
# デバッグ情報付きでコンパイル (-g オプション)
gcc -g hello.c -o hello.exe
# gdb を起動
gdb hello.exe
# gdb 内でのコマンド例
(gdb) list # ソースコード表示
(gdb) break main # main関数にブレークポイント設定
(gdb) run # プログラム実行開始
(gdb) next # 次の行へステップ実行 (関数呼び出しはスキップ)
(gdb) step # 次の行へステップ実行 (関数呼び出しの中に入る)
(gdb) print 変数名 # 変数の値を表示
(gdb) continue # 次のブレークポイントまで実行継続
(gdb) quit # gdb 終了
デバッグの基本操作
デバッグは、プログラムの誤り(バグ)を発見し修正するプロセスである。デバッガは以下のような機能を提供する。
- ブレークポイント: プログラムの実行を特定の行で一時停止させる機能である。
- ステップ実行: プログラムを一行ずつ実行し、動作を確認する機能である。
- ステップイン: 関数呼び出しがあった場合、その関数の中に入って実行を続ける。
- ステップオーバー: 関数呼び出しを一つのステップとして実行し、関数の中には入らない。
- ステップアウト: 現在実行中の関数を最後まで実行し、呼び出し元の次の行で停止する。
- 変数監視: プログラム実行中の変数の値を確認する機能である。
- 続行: ブレークポイントで停止した後、次のブレークポイントまで実行を再開する機能である。
デバッガにはgdb (コマンドライン) のほか、Visual StudioやVisual Studio Codeなどの統合開発環境(IDE)に組み込まれたグラフィカルなデバッガがある(PythonのデバッグについてはPython デバッガを参照)。
msbuild の実行 (Visual Studio プロジェクト用)
msbuildは、Visual Studioのプロジェクトファイル (.sln、.vcxprojなど) をコマンドラインからビルドするためのツールである。Native Tools Command Prompt など、ビルド環境が設定された状態で使用する。
実行例:
# Release構成でリビルド (hoge.sln)
msbuild hoge.sln /p:Configuration=Release /t:Rebuild /m
# Release構成、x64プラットフォームで全ターゲットをビルド
msbuild hoge.sln /p:Configuration=Release /p:Platform="x64" /t:all /m
(/m オプションはマルチコアビルドを有効にする)
3.3 Java (JDK)
JDK (Java Development Kit)
JDK (Java Development Kit) は、Javaアプリケーションを開発・実行するために必要なソフトウェア群である。コンパイラ (javac)、Java仮想マシン (JVM、java)、標準ライブラリ、デバッグツールなどが含まれる。
主要なJDKリリースにはLTS (Long-Term Support) バージョンがあり、安定した利用が推奨される (例: JDK 17、21、25)。(最新情報はOracle JDK FAQ参照)
JDK のインストール(Windows上、Oracle JDK 21 の例)
- Windowsで、コマンドプロンプトを管理者権限で起動する
- 次のコマンドを実行する (wingetを使用):
winget install --scope machine Oracle.JDK.21(
JAVA_HOME環境変数やPATHの設定は通常インストーラが行うが、必要に応じて手動で設定)
【関連する外部ページ】
- JDKの公式ダウンロードページ: https://www.oracle.com/java/technologies/downloads/
【サイト内のJava関連ページ】
- Java プログラミング: 別ページ »にまとめ
Java のバージョンの確認、コンパイル、実行
【Java のバージョンの確認】
java -version
【Windows での Java プログラムのコンパイルと実行】
- テキストエディタで以下のJavaコードを
Main.javaという名前で保存する (例:%HOMEPATH%内)。class Ball { double x; double y; String color; public Ball(double x, double y, String color) { this.x = x; this.y = y; this.color = color; } public double dist() { return this.x + this.y; } } public class Main { public static void main(String[] args) { Ball a = new Ball(1, 2, "red"); Ball b = new Ball(3, 4, "green"); System.out.printf("%f\n", a.dist()); } } - コマンドプロンプトで
Main.javaがあるディレクトリに移動し、以下のコマンドを実行する。# コンパイル (UTF-8でエンコードされている場合) javac -encoding UTF-8 Main.java # 実行 java Main
コンパイルにより Main.class ファイルが生成され、java Main コマンドでそのクラスファイルが実行される。
3.4 その他言語・ツール (Perl, SWIG, LLVM など)
Strawberry Perl
Strawberry Perlは、Windows環境でPerlスクリプトを実行・開発するために必要なツール一式を提供するディストリビューションである。Perl本体に加え、コンパイラ(GCC)や外部ライブラリとの連携に必要なツールが含まれている。
Strawberry Perl のインストール(Windows上)
- Windowsで、コマンドプロンプトを管理者権限で起動する
- 次のコマンドを実行する (wingetを使用):
winget install --scope machine StrawberryPerl.StrawberryPerl powershell -command "[System.Environment]::SetEnvironmentVariable('PERL_ENCODING', 'utf8', 'Machine')" - 動作確認:
- テキストエディタで以下の内容を
a.plとして保存 (例:%USERPROFILE%内)。use strict; use warnings; use utf8; use Encode qw(decode encode); binmode(STDOUT, ':encoding(UTF-8)'); print "こんにちは、世界!\n"; - コマンドプロンプトで実行し、結果を確認する。
perl a.pl
- テキストエディタで以下の内容を
【関連する外部ページ】
- Strawberry Perlの公式ページ: https://strawberryperl.com/
SWIG (Simplified Wrapper and Interface Generator)
SWIGは、C/C++で書かれたプログラムやライブラリを、Python、Java、Perl、Rubyなど他の高水準言語から利用するためのインターフェース(ラッパーコード)を自動生成するツールである。
SWIG のインストール(Windows上)
- Windowsで、コマンドプロンプトを管理者権限で起動する
- 次のコマンドを実行する (wingetを使用):
winget install --scope machine SWIG.SWIGSWIG_LIB環境変数の設定が必要な場合は、インストール先に応じて設定する。インストール後に
swig.exe -versionなどで動作を確認すること。
【関連する外部ページ】
- SWIGの公式ページ: https://www.swig.org/
SWIG の利用
SWIGは、インターフェースファイル (.i) に基づいてラッパーコードを生成する。
- インターフェースファイルの生成例 (Python向け):
swig -python example.i - 多言語サポート:
-java、-perl5、-tclなど、ターゲット言語を指定して実行する。
LLVM
LLVMは、コンパイラ基盤であり、モジュール式のコンパイラやツールチェーンを構築するためのライブラリとツールの集合である。Clang (C/C++/Objective-Cフロントエンド)、LLDB (デバッガ)、libc++ (C++標準ライブラリ)、lld (リンカ) などが含まれる。
LLVM のインストール(Windows上)
- Windowsで、コマンドプロンプトを管理者権限で起動する
- 次のコマンドを実行する (wingetを使用):
winget install --scope machine LLVM.LLVM powershell -command "$installPath = 'C:\Program Files\LLVM\bin'; $oldpath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine'); if ($oldpath -notlike ('*' + $installPath + '*')) { $newpath = $oldpath + ';' + $installPath; [System.Environment]::SetEnvironmentVariable('Path', $newpath, 'Machine') }"(2行目はLLVMの PATH を設定するコマンドである)
【関連する外部ページ】
- LLVMの公式ページ: https://llvm.org/
LLVM の利用 (主要コンポーネントとコマンド例)
- Clang (コンパイラ): C/C++/Objective-C コードをコンパイルする。
clang -c a.c -o a.o - lld (リンカ): オブジェクトファイルをリンクして実行可能ファイルを生成する。
lld-link a.o /out:a.exe clang a.o -o a.exe - LLDB (デバッガ): Clangでビルドしたプログラムをデバッグする。
lldb a.exe - libc++ (C++標準ライブラリ): Clangと共に使用されるC++標準ライブラリ実装である。
clang++ -stdlib=libc++ a.cpp -o a.exe - LLVM Core Libraries: 最適化パスやコード生成器など、コンパイラ開発のためのライブラリ群である。
llvm-as a.ll -o a.bc
3.5 データベース ( MySQL, Firebird など)
SQLite 3: 軽量ファイルベースRDBMS
SQLite 3 について:別ページで説明している
MySQL Community Server: オープンソースRDBMS
MySQLは、Webアプリケーションを中心に世界中で利用されているオープンソースのリレーショナルデータベース管理システムである。
MySQL インストーラのインストール(Windows上)
- Windowsで、コマンドプロンプトを管理者権限で起動する
- 次のコマンドを実行する (wingetを使用、MySQL Installerをインストール):
winget install --scope machine Oracle.MySQLインストール後、MySQL Installer を起動して、サーバー本体や関連ツール(Workbenchなど)をセットアップする。
【関連する外部ページ】
- MySQLの公式ページ: https://www.mysql.com/jp/
【サイト内の関連ページ】
- Windows での MySQL Community Server 8.0 のインストール・設定詳細: 別ページ »
Firebird: クロスプラットフォームRDBMS
Firebirdは、オープンソースのクロスプラットフォーム対応リレーショナルデータベース管理システムである。組み込み用途からクライアントサーバーシステムまで対応可能である。SQL標準への準拠度が高い。
Firebird 5 のインストール(Windows上)
- Windowsで、コマンドプロンプトを管理者権限で起動する
- 次のコマンドを実行する (wingetを使用、インストール先を
C:\Firebird50に指定):winget install --location "C:\Firebird50" FirebirdProject.Firebird.5 powershell -command "$installPath = 'C:\Firebird50\bin'; $oldpath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine'); if ($oldpath -notlike ('*' + $installPath + '*')) { $newpath = $oldpath + ';' + $installPath; [System.Environment]::SetEnvironmentVariable('Path', $newpath, 'Machine') }" sysdba(管理者) パスワードの設定:Firebirdのインストールディレクトリ (例:
C:\Firebird50\bin) に移動し、gsecコマンドでデフォルトパスワード(masterkey)を変更する。cd C:\Firebird50\bin gsec -user sysdba -password masterkey -modify sysdba -pw 新しいパスワード
【関連する外部ページ】
- Firebirdの公式ページ: https://www.firebirdsql.org/
【サイト内の関連ページ】
- WindowsでのFirebirdのインストール・基本操作: 別ページ »
Microsoft SQL Server Express: 無料版RDBMS
Microsoft SQL Server Expressは、Microsoftが提供するSQL Serverの無料版である。小規模なデータベースアプリケーションや学習用途に適している。機能制限はあるが、データベースエンジンのコア機能を利用できる。
Microsoft SQL Server 2022 Express のインストール(Windows上)
- Windowsで、コマンドプロンプトを管理者権限で起動する
- 次のコマンドを実行する (wingetを使用):
winget install --scope machine Microsoft.SQLServer.2022.Expressインストール中に、基本インストールかカスタムインストールかを選択する画面が表示される。
【関連する外部ページ】
- Microsoft SQL Server 2022 Expressの公式ダウンロードページ: https://www.microsoft.com/ja-jp/sql-server/sql-server-downloads (Express Editionを選択)
3.6 Windows Developer Configurations(自動開発環境構築)
Windows Developer Configurations は、Microsoft が2026年6月2日のBuild 2026カンファレンスで正式リリース(GA)を発表したWinGetベースの開発環境自動構築ツールである。コマンド1つでWindows 11の開発環境をゼロから構築できる。オープンソースで公開されており、カスタマイズも可能である。
【公式リソース】
- GitHubリポジトリ: https://github.com/microsoft/WindowsDeveloperConfig
- Microsoft Learn: https://learn.microsoft.com/en-us/windows/dev-configs/
前提条件
セットアップ手順(共通)
- コマンドプロンプトを管理者権限で起動する
- winget configure を有効化する(初回のみ):
winget configure --enable - VC++ ランタイムをインストールする(失敗する場合のみ必要):
winget install Microsoft.VCRedist.2015+.x64 - リポジトリをクローンし、インストール先へ移動する:
git clone https://github.com/microsoft/WindowsDeveloperConfig cd WindowsDeveloperConfig
Windows Dev Config: 基本開発環境のセットアップ
一からWindows 11の開発ワークステーションを構築する。WSL2の有効化のために1回の再起動が必要になる場合がある。再起動後、RunOnce タスクが自動で続きを実行し、Ubuntu のインストールまで完了する。
インストールされる主なツール:
- WSL2 + Ubuntu: Linuxサブシステム
- PowerShell 7: 既定のターミナルシェル(Oh My Posh 適用済み、Cascadia Mono NF フォント設定済み)
- Git + GitHub CLI: バージョン管理
- Visual Studio Code + GitHub Copilot: エディタとAI補助
- Python 3.14 + uv: Python環境(uvについては3.1節参照)
- Node.js・.NET SDK 10: 開発ランタイム
- PowerToys: ユーティリティ
- Windows 設定の最適化: ダークテーマ、開発者モード、長いパス有効化、File Explorer へのGit統合、ファイル拡張子の表示など
実行コマンド(セットアップ手順の続き):
winget configure -f .\windows-dev-config\dev-config.winget --accept-configuration-agreements --disable-interactivity
WSL Comfort: WSL環境のカスタマイズ
WSL Comfort は、WSL内のシェル環境を整えるためのスクリプトである。Windows Dev Config 実行後に追加で実行する。zsh・Starship・Homebrew などの Linux 開発ツールをWSL(Ubuntu)に導入する。
winget configure -f .\wsl-comfort\wsl-comfort.winget --accept-configuration-agreements
導入される主なツール: zsh または bash(シェル)、Starship(高速・カスタマイズ可能なプロンプト)、Homebrew(Linux版パッケージマネージャ)、テーマ適用済みのターミナルプロファイル
Single Language Workload: 言語ツールチェーンの導入
特定のプログラミング言語に必要なツールチェーン一式を1コマンドで導入するモジュール群である。各言語を独立して、または Windows Dev Config と組み合わせて使用できる。
対応している言語・フレームワーク: TypeScript (Node.js)、Python、PowerShell、.NET、Go、Java、Rust、PHP、WinForms、WinUI 3
Python ワークロードのインストール(セットアップ手順の続き):
winget configure -f .\Workloads\python\configuration.winget --accept-configuration-agreements
Python本体、uv、開発に必要な依存関係が一括インストールされる。
Rust ワークロードのインストール:
winget configure -f .\Workloads\rust\configuration.winget --accept-configuration-agreements
Rustツールチェーン(rustup・cargo・rust-analyzer等)が一括インストールされる。
Java ワークロードのインストール:
winget configure -f .\Workloads\java\configuration.winget --accept-configuration-agreements
JDK・ビルドツール(Maven等)が一括インストールされる。
4. WSL 2 (Windows Subsystem for Linux)
WSL 2 概要
WSL 2は、Windows上でLinuxの実行ファイルをネイティブに実行するための互換レイヤーである。完全なLinuxカーネルを軽量な仮想マシン上で実行するため、WSL 1よりも高いパフォーマンスと完全なシステムコール互換性を提供する。Ubuntu、Debian、openSUSEなど、様々なLinuxディストリビューションをWindows上にインストールして利用できる。インストールの詳細な手順は「Windowsのさまざまなアプリケーション」の「10. Linux環境(WSL2)」セクションを参照すること。自動セットアップには3.6節 Windows Developer Configurations も利用できる。
主なWSLコマンド:
wsl --list --onlineまたはwsl -l -o: インストール可能なディストリビューション一覧を表示wsl --list --verboseまたはwsl -l -v: インストール済みのディストリビューション一覧とWSLバージョンを表示wsl -d <ディストリビューション名>: 指定したディストリビューションを起動wsl: デフォルト設定のディストリビューションを起動- ディストリビューションのアンインストール(実行するとそのディストリビューションのデータがすべて削除されるため注意):
(事前にwsl --unregister <ディストリビューション名>wsl --shutdownで全ディストリビューションを停止することを推奨)
【サイト内の関連ページ】
- WSL 2 のインストール、Ubuntu のインストールと利用: 別ページ »で説明
- WSL 2 上の Ubuntu で NVIDIA CUDA, cuDNN, PyTorch, TensorFlow を使う: 別ページ »で説明
5. Windows システムの運用保守
5.1 Windows Update とバージョン確認
Windows Update の実行
システムのセキュリティと安定性を保つために、Windows Updateを定期的に実行することが重要である。(0.9 Windowsのシステム操作も参照)
- Windows の検索窓で「
windows update」と入力し、「Windows Update の設定」を開く - 「更新プログラムのチェック」ボタンをクリックし、利用可能な更新があればインストールする
Windows+R)で ms-settings:windowsupdate-action を実行するとWindows Update画面が開くことがある。Windows のバージョン情報の確認
現在使用しているWindowsのバージョンとビルド番号を確認するには:
- Windows の検索窓で「
winver」と入力し、実行する
5.2 システムツール (Sysinternals, Nmap, Netcat)
Microsoft Sysinternalsツール
Microsoft Sysinternalsは、Microsoftが提供する高度なWindowsシステムユーティリティ群である。システムの監視、トラブルシューティング、詳細情報の取得に役立つ。インストール手順は「Windowsのさまざまなアプリケーション」の「11. システム管理ツール」セクションを参照すること。
代表的なツール:
- Process Explorer: タスクマネージャーより詳細なプロセス情報表示・管理
- Process Monitor (Procmon): ファイルシステム、レジストリ、ネットワーク活動のリアルタイム監視
- Autoruns: Windows起動時に自動実行されるプログラムの管理
Sysinternalsの公式ページ: https://docs.microsoft.com/sysinternals/
Nmap, Netcat: ネットワーク診断ツール
Nmapはネットワーク探索とセキュリティスキャンニングのための強力なツールである。Netcat (nc) はTCP/UDP接続の読み書きを行うシンプルなネットワークユーティリティである。
Nmap/Netcatのインストール
- Nmap公式サイトからWindows用インストーラー (
nmap-*-setup.exe) をダウンロードし、実行する。インストール時にNetcat (ncat) も含めるか選択できる。
使用例:
- Nmap: ローカルホストのポートスキャン (
nmap localhost) - Netcat:
- サーバーとしてポート1111で待機:
ncat -l -p 1111 - クライアントとしてlocalhostのポート1111に接続:
ncat localhost 1111
- サーバーとしてポート1111で待機:
他者のネットワークやマシンを許可なくスキャンすることは避ける必要がある。
5.3 システムチェックと修復
システムイメージのチェックと修復 (DISM)
Windowsのシステムイメージの破損をチェックし、修復するためのコマンドである。システムファイルチェッカー (SFC) の実行前に実行することが推奨される。
- コマンドプロンプトを管理者権限で起動する
- 以下のコマンドを実行する:
dism /online /cleanup-image /scanhealth dism /online /cleanup-image /restorehealth
システムファイルの検証と修復 (SFC)
保護されているシステムファイルをスキャンし、破損しているファイルをキャッシュから復元する。
ディスク空き領域のゼロフィル (sdelete)
削除済みファイルの復元を困難にするため、ディスクの空き領域をゼロデータで上書きする(SSDには推奨されない場合がある)。
- Sysinternalsのsdeleteをダウンロードし、パスが通っている場所に配置する、またはフルパスで指定する
- コマンドプロンプトを管理者権限で起動する
- 以下のコマンドを実行する(例: Cドライブの空き領域):
sdelete -z c:
その他の保守情報
- アンインストール: Windows 11では「設定」>「アプリ」>「インストールされているアプリ」からアンインストールを実行
- AMDプロセッサとMKL: 一部のIntel Math Kernel Library (MKL) を利用するソフトウェアで互換性問題が発生する場合、システム環境変数
MKL_DEBUG_CPU_TYPEに5を設定すると回避できることがある - ARPテーブル表示: ネットワーク上のIPアドレスとMACアドレスの対応表を表示。コマンドプロンプトで
arp -aを実行 - AVX (Advanced Vector Extensions): CPUがサポートする高度なベクトル演算命令セット。対応状況はCPU情報ツールで確認
- CPU ID確認: Intel製CPUの場合、Intel プロセッサー識別ユーティリティーなどで詳細情報を確認できる
5.4 パッケージマネージャ (winget, Chocolatey)
パッケージマネージャは、ソフトウェアのインストール、更新、削除などをコマンドラインで効率的に行うためのツールである。
winget (Windows Package Manager)
wingetは、Microsoftが開発したWindows向けの公式パッケージマネージャである。Windows 11には標準搭載されている。wingetの基本的な操作については0.3 winget の基本を参照すること。詳細な使い方は「Windowsのさまざまなアプリケーション」のwingetセクションを参照すること。
winget のインストール (未導入の場合)
古いWindowsバージョンなどでwingetが導入されていない場合、以下の手順でインストールできる。
- GitHubのwinget-cliリリースページにアクセスする
- 最新リリースの「Assets」セクションから、
.msixbundleという拡張子のファイル (例:Microsoft.DesktopAppInstaller_..._8wekyb3d8bbwe.msixbundle) をダウンロードする - ダウンロードしたファイルを実行し、画面の指示に従ってインストールする
- コマンドプロンプトで
winget -vを実行し、バージョンが表示されればインストール成功である
【関連する外部ページ】 GitHub の winget-cli のページ: https://github.com/microsoft/winget-cli
Chocolatey
Chocolateyは、Windows向けのサードパーティ製パッケージマネージャとして利用されている。多数のソフトウェアパッケージがコミュニティによって提供されており、choco install、choco upgradeなどのコマンドで管理できる。wingetで提供されていないパッケージ(MinGW-w64など)の取得に使用する。
Chocolatey のインストール(Windows上)
- Windowsで、コマンドプロンプトまたはPowerShellを管理者権限で起動する
- 公式サイトのインストール手順に従い、PowerShellで以下のコマンドを実行する(コマンドは変更される可能性があるため、公式サイトを確認すること):
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))(winget経由でもインストール可能:
winget install --scope machine Chocolatey.Chocolatey) - コマンドプロンプトを再起動し、
choco -vでバージョンが表示されれば成功である
【関連する外部ページ】
- Chocolateyの公式サイト: https://chocolatey.org
Chocolatey の使用方法
主要なコマンド:
- パッケージのインストール:
choco install パッケージ名 [-y](-yは確認をスキップ) - パッケージの更新:
choco upgrade パッケージ名 [-y] - 全パッケージの更新:
choco upgrade all [-y] - パッケージのアンインストール:
choco uninstall パッケージ名 [-y] - パッケージの検索:
choco search キーワード - インストール済みパッケージの一覧:
choco list --local-only
vcpkg: C/C++ ライブラリマネージャ
vcpkgは、Microsoftが開発するC/C++ライブラリ向けのクロスプラットフォームパッケージマネージャである。多くのオープンソースライブラリの取得、ビルド、プロジェクトへの統合を容易にする。
vcpkg のインストール(Windows上)
- GitとVisual Studio (C++開発ツール含む) がインストールされていることを確認する
- コマンドプロンプトで、vcpkgをインストールしたいディレクトリに移動し、以下のコマンドを実行する (例:
C:\src、ファイルシステム・パスの基本も参照):cd C:\src git clone https://github.com/microsoft/vcpkg .\vcpkg\bootstrap-vcpkg.bat - (オプション) Visual Studioとの連携設定:
.\vcpkg\vcpkg integrate install
vcpkg の GitHub のページ: https://github.com/microsoft/vcpkg
miniconda3
Minicondaは、Anacondaの軽量版であり、Python本体とパッケージ管理システムcondaを含む最小限のディストリビューションである。condaを使って、Pythonパッケージだけでなく、他のソフトウェアやライブラリも仮想環境ごとに管理できる。
URL: https://docs.conda.io/en/latest/miniconda.html
Windows での miniconda3 のインストール手順は、別ページ »で説明(2.5節にインストールコマンドも記載)。
6. 仮想化
6.1 VirtualBox: Type 2 ハイパーバイザ
VirtualBoxは、Oracleが開発するオープンソースの Type 2 ハイパーバイザである。 ホストOS(Windows、macOS、Linuxなど)上に、ゲストOSを実行する仮想マシンを作成・管理できる。 仮想マシンのインポート/エクスポート(OVF/OVA形式)、Guest Additionsによるホスト-ゲスト連携、 スナップショット機能などを備える。
VirtualBox のインストール(Windows上)
- コマンドプロンプトを管理者権限で起動する。
- 次のコマンドを実行する(wingetを使用)。
2行目は、winget install --scope machine Oracle.VirtualBox powershell -command "$p = 'C:\Program Files\Oracle\VirtualBox'; $old = [System.Environment]::GetEnvironmentVariable('Path','Machine'); if ($old -notlike ('*'+$p+'*')) { [System.Environment]::SetEnvironmentVariable('Path', $old+';'+$p, 'Machine') }"VBoxManageコマンドをどのディレクトリからも実行できるよう、 VirtualBox のインストールディレクトリをシステム環境変数Pathに追加する処理である (winget のインストーラが自動設定しない場合の補完)。 設定後はコマンドプロンプトを再起動して反映させる。
VirtualBox を用いて仮想マシンを作成(コマンドライン例)
VBoxManage コマンドでコマンドラインから仮想マシンを作成・設定する例(Ubuntu 24.04 Desktop)。
- ISO イメージをダウンロードする。
-Lオプションでリダイレクトに追従し、-oで出力パスを明示指定する。Ubuntu のリリースサーバーはポイントリリース版 (例:ubuntu-24.04.2-desktop-amd64.iso)へリダイレクトするため、 ファイル名を固定することで以降のコマンドとの整合性を保つ。mkdir C:\VM curl -L -o "C:\VM\ubuntu-24.04-desktop-amd64.iso" https://releases.ubuntu.com/24.04/ubuntu-24.04-desktop-amd64.iso - 仮想マシンを作成・設定する。冒頭3行は同名の仮想マシンが既存の場合に削除する処理で、
初回は
2> nulによりエラーが無視される。VBoxManage controlvm "myubuntu" poweroff 2> nul VBoxManage unregistervm "myubuntu" --delete 2> nul VBoxManage closemedium disk "C:\VM\myubuntu.vdi" --delete 2> nul VBoxManage createvm --name "myubuntu" --ostype "Ubuntu_64" --register VBoxManage modifyvm "myubuntu" --memory 8192 --cpus 2 VBoxManage modifyvm "myubuntu" --graphicscontroller vmsvga --vram 128 VBoxManage storagectl "myubuntu" --name "SATA Controller" --add sata --controller IntelAhci VBoxManage createmedium disk --filename "C:\VM\myubuntu.vdi" --size 51200 --format VDI VBoxManage storageattach "myubuntu" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium "C:\VM\myubuntu.vdi" VBoxManage storageattach "myubuntu" --storagectl "SATA Controller" --port 1 --device 0 --type dvddrive --medium "C:\VM\ubuntu-24.04-desktop-amd64.iso" VBoxManage modifyvm "myubuntu" --nic1 nat VBoxManage modifyvm "myubuntu" --boot1 dvd --boot2 disk --boot3 none --boot4 none VBoxManage showvminfo "myubuntu" VBoxManage startvm "myubuntu"--cpus 2: 割り当てる仮想CPUコア数。Ubuntu 24.04 Desktop のインストーラは 1コアでは動作が著しく重くなるため、2以上を推奨する。--graphicscontroller vmsvga --vram 128: Linux ゲスト向けに推奨されるグラフィックス コントローラと VRAM サイズ(MiB)。デフォルトの 8 MiB では Ubuntu のデスクトップ環境起動後に 描画異常が生じるため、128 MiB 以上を設定する。createmedium disk: VirtualBox 6.0 以降でcreatehdの後継となる 正式コマンドである。
VirtualBox公式: https://www.virtualbox.org/
6.2 Vagrant: 仮想環境構築ツール
Vagrantは、VirtualBox等のハイパーバイザを制御し、設定ファイル(Vagrantfile)に基づいて 仮想マシンの構築・管理を自動化するツールである。 カーネルを含むOS全体を仮想化するため、本番サーバー(Linux)とファイルシステム仕様 (パス区切り文字、ファイル名の大文字・小文字区別、パーミッション構造)を一致させた開発が可能である。 同一の Vagrantfile を共有することで、複数の環境で同じ構成を再現できる。
Vagrant のインストール(Windows上)
前提条件: VirtualBox などのハイパーバイザを事前にインストールしておく。
Vagrant による仮想マシンの構築(基本操作)
作業ディレクトリに Vagrantfile(拡張子なし)を配置することで仮想マシンの構成を定義する。
以下は Ubuntu 24.04 の仮想マシンを構築し、Nginx をプロビジョニングする例である。
- 作業ディレクトリを作成する。
mkdir C:\vagrant-myubuntu cd C:\vagrant-myubuntu C:\vagrant-myubuntu\Vagrantfileとして以下を保存する。Vagrant.configure("2") do |config| config.vm.box = "bento/ubuntu-24.04" config.vm.hostname = "myubuntu" config.vm.network "private_network", ip: "192.168.56.10" config.vm.provider "virtualbox" do |vb| vb.memory = 2048 vb.cpus = 2 end config.vm.provision "shell", inline: <<-SHELL apt-get update -y apt-get install -y nginx SHELL endconfig.vm.boxに指定する Box(事前構築済みの仮想マシンイメージ)は、 初回vagrant up時に Vagrant Cloud からダウンロードされる。- 仮想マシンを起動する。初回はBoxイメージのダウンロードとプロビジョニングが実行される。
vagrant up - SSHで仮想マシンに接続する。
vagrant ssh - 仮想マシンを停止する(次回
vagrant upで再起動可能)。vagrant halt - 仮想マシンを削除する(Box イメージは保持される)。
vagrant destroy
Vagrant公式: https://www.vagrantup.com/
6.3 Docker: コンテナ管理ソフトウェア
Dockerは、Linuxカーネルが提供する名前空間(Namespaces)およびコントロールグループ(cgroups)を利用し、 プロセス単位で隔離された環境(コンテナ)を作成・管理するソフトウェアである。 Windowsでは、Docker DesktopがWSL2上のLinuxカーネルを共有してコンテナを実行する。 各コンテナは個別のOSカーネルを持たないためOSのブートが発生せず、 仮想マシンと比較してCPUおよびメモリのオーバーヘッドが小さい。
Docker Desktop のインストール(Windows上)
前提条件: WSL2 を有効にしておく(管理者権限のコマンドプロンプトで wsl --install を実行し、再起動する)。
- コマンドプロンプトを管理者権限で起動する。
- 次のコマンドを実行する(wingetを使用)。
インストール後にシステムを再起動し、Docker Desktop を起動してセットアップを完了する。winget install --scope machine Docker.DockerDesktop
Docker の基本操作
コンテナの起動・確認・停止・削除の基本的な操作例を示す。
Nginx コンテナをバックグラウンドで起動し(-d)、ホストの 8080 番ポートにマッピングする(-p)。
docker run -d --name mynginx -p 8080:80 nginx
実行中のコンテナ一覧を確認する。
docker ps
コンテナを停止・削除する。
docker stop mynginx
docker rm mynginx
Ubuntu 24.04 コンテナを対話モードで一時起動する(--rm により終了後に自動削除)。
docker run --rm -it ubuntu:24.04 bash
Docker公式: https://www.docker.com/
6.4 Vagrant と Docker の比較
| 比較項目 | Vagrant(VirtualBox等) | Docker(Docker Desktop + WSL2)※ |
|---|---|---|
| 仮想化の対象 | ハードウェアおよびOS全体 | OSカーネルを共有したプロセス隔離 |
| システム構造 | ホストOS > ハイパーバイザ > ゲストOS > アプリ | ホストOS > WSL2(カーネル) > Docker > アプリ |
| 物理リソース消費 | 設定メモリ容量を固定で占有 | ホストOSのリソースを動的に共有 |
| 設定・制御の対象 | カーネルパラメータ、ネットワーク等OS全般 | アプリケーション実行環境、依存ライブラリ等 |
※ Docker列のシステム構造は Windows 上(Docker Desktop + WSL2)の構成である。 Linux ホスト上では WSL2 レイヤーは存在せず、 「ホストOS(Linux)> Docker Engine > コンテナ」となる。
Vagrant は、本番サーバーが物理サーバー・VPS・AWS EC2 等の仮想マシン環境で OS レベルの一致が必要な場合や、 カーネルパラメータ・ネットワーク・OS の起動プロセスなど OS 全体の挙動を確認する場合に適する。 Docker は、本番環境が AWS ECS・EKS・GKE などコンテナ運用を前提としたインフラの場合や、 同一ホストOS 内で異なるバージョンの同一ミドルウェアを並行稼働させる場合、 複数のサービスコンポーネントを協調動作させる場合に適する。
なお、WSL2(Docker Desktop)と VirtualBox を同一の Windows 環境で併用する場合、 Hyper-V との競合により起動エラーやパフォーマンス低下が生じることがある。 その場合はシステム設定の調整が必要になる。
7. MSYS2・MinGW・Cygwin
7.1 MSYS2・MinGW・Cygwin: Windows上のUnixライク環境
Windows上でUnix/Linuxライクな開発環境やコマンドラインツールを利用するためのソフトウェア群である。それぞれ用途と特性が異なる。
現状の整理(2026年時点): Linux互換環境が必要な場合はWSL2が最初の選択肢となる。Windows上でネイティブなGNUツールチェーンが必要な場合はMSYS2が推奨される。Cygwinは特定のPOSIX依存ソフトウェアのビルドなど、WSL2やMSYS2では代替できない用途向けに維持されている。
- MSYS2: MinGW-w64を統合し、Arch LinuxのPacmanパッケージマネージャを採用した、Windows向けUnixライク開発環境である。GCC・Clang・GDB等の最新バージョンを提供する(Windows 11 / 64ビット対応)。
- MinGW-w64: Windowsネイティブな実行ファイルを生成するためのGNUツールチェイン (GCC、binutilsなど) を提供する。64ビット対応のフォークであるMinGW-w64は現在もMSYS2を通じて維持されている。オリジナルの32ビット MinGW プロジェクトは事実上開発が停止しており、MSYS2経由のMinGW-w64 の使用を推奨する。
- Cygwin: Windows上で広範なPOSIX API互換性(Unix系OSとの互換性を提供する仕組み)を提供するライブラリ (
cygwin1.dll) と、多数のLinuxコマンド/ツールを提供する。Cygwin上でビルドされたプログラムは通常cygwin1.dllに依存する。Linux互換シェル環境としてはWSL2が推奨されるが、Cygwin依存のソフトウェアのビルドや特定のPOSIXワークフローには引き続き有用である。
MSYS2 のインストール(Windows上、推奨)
MSYS2は、MinGW-w64とPacmanパッケージマネージャを統合したWindows向けGNU開発環境である。
- Windowsで、コマンドプロンプトを管理者権限で起動する
- 次のコマンドを実行する:
winget install --scope machine MSYS2.MSYS2 - MSYS2 UCRT64 ターミナルを起動し、パッケージを更新する:
pacman -Syu - GCC・GDB等の開発ツールをインストールする(MSYS2端末内で実行):
pacman -S mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-gdb mingw-w64-ucrt-x86_64-cmake - 確認(MSYS2端末内):
gcc --version g++ --version
MSYS2公式ページ: https://www.msys2.org/
MinGW-w64 のインストール(Chocolatey経由)
MSYS2を使わずに、より簡易な方法でMinGW-w64(GCC・G++・GDB)をインストールしたい場合は、Chocolateyを使用する方法もある。ただし、MSYS2経由のインストールが推奨される。
- Windowsで、コマンドプロンプトを管理者権限で起動する
- Chocolateyがインストールされていない場合は先にインストールする (
winget install --scope machine Chocolatey.Chocolateyなど) - Chocolateyを使用してMinGW-w64をインストールする:
(これによりGCC、G++、GDBなどがインストールされ、PATHも通常設定される)choco install mingw -y - 確認: 新しいコマンドプロンプトを開き、以下のコマンドを実行してパスが通っているか確認する:
where gcc where g++ where gdb gcc --version g++ --version
Cygwin のインストール(Windows上)
特定のPOSIX依存ソフトウェアのビルドなど、WSL2・MSYS2では代替できない用途向けにCygwinをインストールする。
- Windowsで、コマンドプロンプトを管理者権限で起動する
- 次のコマンドを実行する (wingetを使用):
winget install --scope machine Cygwin.Cygwin powershell -command "$cygwinPaths = @('C:\cygwin64\bin', 'C:\cygwin64\sbin', 'C:\cygwin64\usr\local\bin', 'C:\cygwin64\usr\sbin'); $oldpath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine'); $pathsToAdd = $cygwinPaths | Where-Object { $oldpath -notlike ('*' + $_ + '*') }; if ($pathsToAdd) { $newpath = $oldpath + ';' + ($pathsToAdd -join ';'); [System.Environment]::SetEnvironmentVariable('Path', $newpath, 'Machine') }" - Cygwin Setupプログラムを使用して追加パッケージをインストールする:
cd c:\cygwin64 curl -O https://www.cygwin.com/setup-x86_64.exe .\setup-x86_64.exe -q -P wget,gcc-core,gcc-g++,gcc-fortran,gdb
【関連する外部ページ】
- Cygwinの公式ページ: https://www.cygwin.com/
8. ツール選択ガイド
8.1 用途別ツール一覧
目的に応じて適切なツールを選択するための一覧である。
| 用途 | 推奨ツール |
|---|---|
| 一発で開発環境を構築 | Windows Developer Configurations(3.6節) |
| ローカルLLM(コマンドライン) | Ollama |
| 指示からコードを自律生成 | Cline |
| コード補完 | GitHub Copilot Free |
| 設定不要でAI支援 | Windsurf |
| 拡張機能を自由に組み合わせ | Visual Studio Code |
| Pythonパッケージ管理(高速) | uv |
| Pythonデバッグ(GUI) | debugpy + VS Code(3.1節) |
| Pythonデバッグ(コマンドライン) | pdb(組み込み)または pudb |
| 画像分類・物体検出 | opencv-python、PyTorch |
| 音声分析 | librosa |
| 自然言語処理 | transformers |
| RAG(検索拡張生成) | LangChain、chromadb、sentence-transformers |
| クラウドAI API連携 | openai、google-generativeai、litellm |
| AIデモ作成 | Gradio |
| AI画像生成 | ComfyUI、Stable Diffusion 3.5 |
| Python 3Dゲーム開発 | Panda3D |
| Windows GNUツールチェーン(ネイティブ) | MSYS2(推奨)または MinGW-w64 |
| LinuxコマンドをWindows上で実行 | WSL2(推奨)または Cygwin |
| コンテナ開発 | Docker Desktop、WSL containers(Build 2026) |
| 仮想マシン | VirtualBox |
| 統計解析 | R + RStudio |
| 数値計算(MATLAB互換) | Octave |
| GIS・地理情報 | QGIS |
| 3D CAD設計 | FreeCAD |
| PCB設計 | KiCad |
| 3DCG・アニメーション | Blender |
| 論文・技術報告書の組版 | LaTeX(TeX Live) |
| Androidアプリ開発 | Android Studio |
| ネットワーク解析・スキャン | Nmap + Wireshark |
| ハードウェア監視 | HWiNFO64 |
| ディスク使用量の可視化 | WinDirStat |
| 高速ファイルコピー | FastCopy |
| フォルダ同期・バックアップ | FreeFileSync |
| 動画編集 | Shotcut、OpenShot、Avidemux |
| 画面録画 | OBS Studio、AG-デスクトップレコーダー |
| 画像編集 | GIMP |
| PDF閲覧・注釈 | PDF-XChange Editor |
| ブータブルUSB作成 | Rufus |
| 資料デザイン | Canva |