Chocolateyとは、Windows上でソフトウェアを管理するためのツールだ。例えば、以下のように、コマンドライン画面上で、複数ソフトウェアを一括でインストールできるし、更新も一括でできる。この記事では、Chocolateyの導入方法と使い方を備忘録を兼ねて解説していく。
※以下、私がChocolateyで管理しているソフトウェアの一括インストール方法と、更新方法
# VLCメディアプレイヤー、Git、FFmpeg、Python3.12を一括インストール
choco install vlc git ffmpeg python312 -y
choco upgrade all
Chocolateyの公式サイトのURL
- 公式サイト:https://community.chocolatey.org/
- 公式サイトのインストール解説記事:https://chocolatey.org/install
- Chocolatey対応ソフト一覧:https://community.chocolatey.org/packages
- ChocolateyはWindows用のパッケージマネージャー(≒Windowsソフトの管理ツール)
- Chocolateyのインストールは管理者権限を持ったPowerShellから。解説文からのコピペで完了
- Chocolateyでは、Windowsソフトのインストール・アップデート・アンインストール、すべてコマンドで管理する
- トラブル回避のため、すべての操作はChocolatey経由で統一する
Chocolatey とは何か?

Chocolateyはオープンソースプロジェクトとして開発されている、Windows向けのパッケージマネージャーだ。ソフトのインストール・更新・削除をコマンド1つで管理できる。
通常、Windowsでソフトを入れるには、ブラウザで検索し、インストーラーをダウンロードし、指示に従ってクリックしていくという手順が必要になる。アップデートやアンインストールも、それぞれ手作業だ。しかし、Chocolateyを使えば、こうした一連の作業をすべて省略できる。
たとえば「Pythonをインストールしたい」と思ったとき、Chocolateyが導入されていれば、次の1行で完了する。
> choco install python
この仕組みを活用すれば、開発環境の再構築、複数台への同一環境導入、ツールの一括アップデートなども簡単になる。
この記事では、Chocolateyのインストール方法から、基本的な使い方、注意点までを網羅し、日常的なツール管理を効率化するための手順を順を追って解説していく。
インストール手順(3ステップ)

Chocolateyのインストールは、PowerShellで数行のコマンドを実行するだけで完了する。
以下の手順に従えば、数分で導入が完了する。
スタートメニューで「PowerShell」と検索し、「管理者として実行」を選ぶ。
※ 通常の起動ではインストールに失敗する。必ず管理者権限で実行すること。
詳しく解説: PowerShellの起動方法
- Chocolatey インストール前に、PowerShell を管理者として開く必要がある。
- 手順:
- スタートメニューを開く。
- 「PowerShell」と検索し、表示されたWindows PowerShellを右クリック。
- 「管理者として実行」を選択。
- これで、管理者権限でPowerShellが開き、Chocolateyのインストールが可能になる。
- Windows Terminalを使う場合でも、Chocolateyのインストールには管理者権限が必要。
- Windows Terminal のタブバーの右端にある「+」ボタンの横にある下向きの矢印をクリック
- 管理者権限で起動したいプロファイル(例: 「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'))
数十秒ほどで完了する。エラーが出なければ成功。
詳しく解説: PowerSehllにコピペするこのコマンドとは?
PowerShellにコピペする、このコマンドのソースは?
このコマンドは、Chocolatey 公式サイトに、インストールを解説した記事「Installing Chocolatey」に記されているので、確認して欲しい。

このコマンドのそれぞれの意味は?
上のコマンドは1行だが、3行の内容を「;」によって結合したものだ。
- 1行目:
Set-ExecutionPolicy Bypass -Scope Process -Force
- PowerShell の実行ポリシーを変更するもの。
- デフォルトでスクリプト実行がブロックされているのを一時的に許可する。
Bypass
: 実行ポリシーの制限を解除。-Scope Process
: この変更を現在のセッションのみに適用。-Force
: ユーザーに確認を求めず実行ポリシーを変更。- この行により、Chocolatey インストールスクリプトが実行できるようになる。
- 2行目:
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
- 通信プロトコルを設定するもの。
- 最新の通信プロトコルTLS 1.2を使用してセキュアな通信を確保。
-bor 3072
: TLS 1.2を強制的に使用するための設定。- この設定により、安全な通信が確保される。
- 3行目:
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
- Chocolatey のインストールスクリプトをインターネットからダウンロードして実行するもの。
iex
: インラインで式を実行するPowerShellコマンド。ダウンロードした内容をそのまま実行。New-Object System.Net.WebClient
: WebClientオブジェクトを作成し、インターネットからデータを取得するために使用。.DownloadString('https://chocolatey.org/install.ps1')
: Chocolatey のインストールスクリプトを指定されたURL https://chocolatey.org/install.ps1 からダウンロードし、その内容を文字列として取得。- この行で、Chocolatey のインストールスクリプトが実行され、インストールが完了する。
コマンドプロンプトで、chocoと入力し、下記のように、バージョン情報(例:Chocolatey v2.4.3)が表示されれば、インストールは完了している。
> choco
Chocolatey v2.4.3
Please run 'choco -?' or 'choco <command> -?' for help menu.
よく使うインストール例

Chocolateyを導入したら、次はアプリケーションをインストールしてみる。以下は、よく使われるソフトウェアの導入例である。
管理者権限なしでインストールしようとした場合
例えば、VLCメディアプレイヤーを、管理者権限のない状態で、インストールしようとすると、次のようなエラーメッセージが表示される。
> choco install vlc
Chocolatey v2.4.3
Chocolatey detected you are not running from an elevated command shell (cmd/powershell).
(訳)Chocolatey は、あなたが昇格された(管理者権限の)コマンドシェル(cmd/powershell)から
実行していないことを検知しました。
PCの再起動が必要な場合
イントールするプログラム(パッケージ)によっては、PCの再起動が必要な場合がある。例えば、Pythonをイントール後に、chocolateyから、下記のようなメッセージがでた。「Pythonをインストールする過程で、マイクロソフトのVisual C++関連のパッケージをインストールしたが、これには再起動が必要です」、というメッセージだ。
> choco install python
………(中略)………
Packages requiring reboot:
- vcredist140 (exit code 3010)
The recent package changes indicate a reboot is necessary.
Please reboot at your earliest convenience.
………(中略)………
(訳)再起動が必要なパッケージあり。
vcredist140(Visual C++関連)。
最近のパッケージ変更により、再起動が必要です。
できるだけ早く、PCを再起動してください。
ffmpeg をインストール
- ffmpeg は、動画や音声の処理を行うためのオープンソースソフトウェア。Chocolateyを使えば、公式サイトからのダウンロードやパス設定が不要になる。
- オプション
-y
は「すべての確認に自動でYesと答える」指定。省略すると、毎回確認が求められる。
choco install ffmpeg -y
Git をインストール
インストール後は、PowerShellやコマンドプロンプトで git --version
を実行すれば、バージョンが表示される。
> choco install git -y
複数のパッケージをまとめてインストール
- 複数のパッケージを一度にインストールすることもできる。
- 例:
ffmpeg
、vlc
、git
を一度にインストールする場合
choco install ffmpeg vlc git -y
インストールしたいパッケージに、複数のバージョンがある場合
2025年4月現在、choco install python
とすると、Python 3.x 3.13.3がインストールされる。安定動作目的で、バージョンの古いパッケージをインストールしたい時もある。その場合、choco install python312
や、choco install python311
とバージョン指定することがきる。
詳しくは、Chocolateyの公式パッケージリポジトリのウェブサイト https://community.chocolatey.org/packages で「python」と検索して確認。このサイトは、一覧性が高く、パッケージの説明も確認しやすい。
パッケージをアンインストールする
パッケージをアンインストールする: choco uninstall <パッケージ名>
例:choco uninstall git
インストール済みパッケージの確認と更新
Chocolateyを使ってインストールしたパッケージ(ソフトウェア)を最新の状態に保つ方法は重要だ。ここでは、現在インストールしているパッケージの状態を確認し、効率的に更新する方法を説明する。
アップグレード可能なパッケージを確認する (choco outdated
)
システムにインストールされているChocolatey管理下のパッケージのうち、Chocolateyリポジトリに新しいバージョンが登録されているもの(つまり、アップグレード可能な状態にあるもの)を一覧で表示するコマンドだ。
> choco outdated
このコマンドを実行すると、パッケージID、現在インストールされているバージョン、Chocolateyリポジトリで利用可能なバージョンなどが表示される。ここに表示されたパッケージこそが、次に説明する choco upgrade --all
コマンドによる更新の対象となるパッケージだ。ここに表示されないパッケージは、choco upgrade --all
を実行しても更新されない。
全てのパッケージを更新する (choco upgrade --all
)
システム上のアップグレード可能なChocolatey管理下パッケージ全てを、自動で最新版に更新するコマンドだ。
PS > choco upgrade --all
このコマンドは、まさに choco outdated
コマンドを実行した際にリストアップされるパッケージだけを対象に、一つずつ(または並行して)最新版へのアップグレードを実行する。通常は個別のパッケージごとに更新確認(続行するかなど)が表示されるが、-y
オプションを末尾に付けることで、確認なしで全てのアップグレードを自動実行させることができる(例: choco upgrade --all -y
)。
重要な点として、choco outdated
コマンドの出力に表示されたパッケージだけが、このchoco upgrade --all
コマンドの対象となる。 Chocolateyがアップグレード可能と判断していないパッケージが、このコマンドで勝手に更新されることはない。
特定のパッケージだけを更新する (choco upgrade <package_id>
)
特定のパッケージのみを最新版に更新したい場合は、パッケージIDを指定して upgrade コマンドを使う。
PS > choco upgrade <パッケージID>
このコマンドは、指定したパッケージがシステムにインストールされており、かつChocolateyリポジトリに新しいバージョンがある場合に、そのパッケージを更新する。また、指定したパッケージがシステムにインストールされていない場合は、自動的に新規インストールを実行する。
choco outdated のリストに表示されていなくても実行自体はできるが、既に最新版がインストールされている場合は特に何も起こらない。新規にインストールしたい場合は、意図を明確にするためにも choco install <パッケージID> コマンドを使うのが一般的で推奨される方法だ。
これらのコマンドを活用して、Chocolateyで管理するソフトウェアを効率的に最新の状態に保つことができる。日々のメンテナンスとしては、まず choco outdated
で確認し、問題なければ choco upgrade --all -y
を実行するのが良いと思う。
Chocolateyでインストールしたパッケージ(≒ソフトウェア)は、すべてこのようにコマンドベースで管理するのが基本。GUIからアンインストールするよりも確実で、環境を整える際に再現性が高くなる。
Chocolatey運用の落とし穴と対処法

Chocolateyは便利なツールだが、Windows標準の操作と混在させると不整合が起きることがある。特に注意すべきなのは、「アプリと機能」から手動で削除してしまうケースだ。
「アプリと機能」から削除してはいけない理由
Chocolateyは、独自のパッケージ管理情報を保持している。
そのため、Windowsの「アプリと機能」からソフトを手動で削除すると、本体は消えても、Chocolateyの記録には残ったままになる。
この不整合により、以下のような問題が発生する:
choco list
に削除済みソフトが表示され続けるchoco upgrade
が失敗するchoco uninstall
でエラーが出る
対処法:記録だけを安全に削除する
この不整合を解消するには、管理者として実行した PowerShell で次のコマンドを使う:
choco uninstall <パッケージ名> --skip-autouninstaller
--skip-autouninstaller
オプションは、「すでに本体が削除されている」ことを前提とし、Chocolatey がアンインストーラーを呼び出すのを省略し、内部記録だけを削除するために使用する。
これで、Chocolatey の管理情報が正しく整合され、以後の choco list
や upgrade
にも影響が出なくなる。
まとめ
Chocolatey を使えば、ソフトウェアの導入や管理が手動操作に頼らなくてよくなる。特に、複数のツールを使っている人や、定期的に開発環境を整え直す必要がある人にとって、コマンド一つでのアップデートや再インストールは非常に効率的だ。
今後、環境を維持する上で覚えておきたい基本操作は以下の通り。
- インストール済みの一覧確認:
choco list
- アップデート対象の確認:
choco outdated
- 一括アップデート:
choco upgrade all -y
- パッケージ削除:
choco uninstall <パッケージ名>
こうした運用を習慣化すれば、手作業によるインストールミスや、不要なバージョン違いによるトラブルも減らせる。
また、Chocolatey には GUI 管理ツール(Chocolatey GUI)も存在するため、必要に応じて視覚的な管理を取り入れるのも選択肢となる。
コメント