ソフトウェアの管理と保守に苦労している場合は、これから楽しいことが待っています。この記事では、Chocolateyをインストールし、ソフトウェアパッケージを管理する方法について学びます!
この記事では、実践的にChocolateyをインストールし、ソフトウェアを管理する方法、およびこの製品の基本的な紹介を学びます。
関連記事: 最初のChocolateyパッケージの作成方法
前提条件
このチュートリアルは、手順に従って進める予定ですので、以下の前提条件を満たしていることを確認してください。
- Windows 10 – このチュートリアルでは、Windows 10 1903を使用します。
- Windows PowerShell 5.1(オプション) – これはChocolateyに技術的に必要とされているわけではありませんが、この記事のすべての例で使用されます。
すべての技術要件の詳細については、Chocolateyの要件ページをご覧ください。
Chocolateyのインストール
Chocolateyを使い始める際の最初のタスクは、Chocolateyクライアントのダウンロードとインストールです。Chocolateyにはサーバーコンポーネントもありますが、この記事ではクライアントを使用してソフトウェアのダウンロード、インストール、および更新に焦点を当てます。
Chocolateyはさまざまな方法でインストールできます。この記事では、最も一般的な方法であるPowerShellを使用して学ぶ方法を説明します。
さまざまな方法でChocolateyクライアントをインストールするための詳細な手順については、Chocolateyインストールガイドを参照してください。
Chocolateyをインストールするためには、会社が提供する便利なPowerShellスクリプトをシステムで実行する必要があります。インストールスクリプトを実行する前に、ダウンロードする前にスクリプトを確認してください。スクリプトはこちらで見つけることができます。
関連記事: PowerShellを管理者として実行する方法
管理者として開いたPowerShellコンソールで、以下のコマンドを使ってスクリプトをダウンロードして実行します。
以下のコードスニペット:
- PowerShellがchocolatey.orgサーバーのSSL 証明書をナビゲートできるようにする
- スクリプトをhttps://chocolatey.org/install.ps1からダウンロードする
- ダウンロード後にスクリプトを実行する
- %ALLUSERSPROFILE%\chocolatey\binフォルダをPATH環境変数に追加する

実行ポリシーに関連するエラーが発生する場合、現在の実行ポリシーがスクリプトの実行を許可していない可能性があります。これを解消するためには、実行ポリシーをUnrestrictedまたはRemoteSignedに変更してください。
インストールの確認
PowerShellスクリプトが完了し、PowerShellコンソールに戻ったら、choco.exeというChocolateyクライアントを実行できることを確認してください。
chocoを実行すると、以下に示すようにインストールされたバージョンと基本的なヘルプ情報が表示されます。
ヘルプの取得
Chocolatey CLIクライアントの最良の機能の一つは、ヘルプシステムです。組み込みのヘルプシステムは、Chocolateyのすべての機能を詳細にドキュメント化しています。
ヘルプシステムにアクセスするには、以下のようにchocoコマンドに-?
スイッチを指定します。
Chocolateyクライアントには、ソフトウェアを管理するためのさまざまな機能を実行することができるさまざまなコマンドがあります。
特定のアクションを実行する方法がわからなくなった場合は、ヘルプシステムを確認してください。
パッケージの検索
Chocolateyクライアントがインストールされ、実行されている場合、インストール可能なパッケージを確認する時間です。クライアントには、list, search
、およびfind
という3つのコマンドがあり、これらのコマンドを使用してChocolateyリポジトリを検索して利用可能なパッケージを見つけたり、マシン上のパッケージをリストしたりすることができます。
以下では、ヘルプシステムで見つかる説明と例を示します。
例として、以下はローカルコンピュータ上にインストールされているすべてのパッケージ(list
)の一覧を表示する例です(-lo
)。
ダウンロード前にChocolateyパッケージを検査する
パッケージをダウンロードする前に、そのパッケージが実際に何をするのかを理解する必要があります。幸運なことに、info
コマンドがあります。このコマンドは、Chocolateyリポジトリにあるパッケージの詳細を検索します。
choco info
を使用すると、パッケージの作者、ダウンロード数、チェックサム、ソースなどのパッケージ属性を見つけることができます。
以下に、choco info
を実行するオプションをご覧ください。
たとえば、Google Chromeをインストールする必要があり、googlechromeという利用可能なパッケージを見つけました。 choco info googlechrome
を実行して、どのような情報を見つけることができるか確認してください。
パッケージのインストール
パッケージの情報を取得するのは十分です。実際にソフトウェアをインストールする時間です!そのためには、choco install
を使用します。
choco install
コマンドは非常に強力で重要です。覚えてプロになるべきコマンドはこれです。
choco install
コマンドは、必要なものがわかったら提供されたパッケージまたはパッケージのリストをインストールします。
オプションを確認するために、choco install --help
を実行してください。
Chocolateyパッケージの更新の保持
パッケージがインストールされると、必ず最新の状態を保ちたくなるでしょう。これはChocolateyの強力な機能です。
いくつかのパッケージをインストールした後、Chocolateyは自動的にパッケージをバックグラウンドで更新し続けるわけではありません。Chocolateyクライアントはサービスとして実行されません。
インストールされたChocolateyパッケージを更新するには、アップグレードが必要な場合に毎回choco
を手動で起動する必要があります。そのために、choco upgrade
コマンドを実行し、アップグレードが必要なパッケージと一緒に実行します。
upgrade
コマンドは、パッケージがシステム上に存在しない場合にパッケージをインストールします。
以下に、ヘルプシステムにある詳細と例を示します。
choco upgrade all
を実行することで、すべてのパッケージを最新バージョンにアップグレードできます。
ローカルの古いパッケージの検索
choco upgrade
を無条件に実行する前に、パッケージの新しいバージョンがあるかどうかをチェックしたい場合はどうすればよいでしょうか? outdated
コマンドを使用することができます。 outdated
コマンドは、インストールされたパッケージをスキャンし、指定したパッケージリポジトリと比較してパッケージの更新を確認します。
choco outdated --help
で何が可能かを見てみましょう。
たとえば、すべてのローカルにインストールされた古いバージョンのパッケージを見つけたい場合は、choco outdated
を使用することができます。
パッケージの更新の抑制
ソフトウェアを最新の状態に保つことは間違いなく推奨されますが、明示的に更新を防止する必要がある場合はどうなりますか?なぜそうしたいのでしょうか?
更新の冗長性を避けるために更新を抑制する理由の一つは、パッケージの初期インストールを自動化したい場合です。パッケージの完全なソフトウェアライフサイクルを維持したくありません。
すべてのパッケージの更新を強制する際に、いくつかの除外を行う必要があるかもしれません。その場合、パッケージを固定することができます。
さまざまなChocolateyコマンドを実行すると、固定属性が表示されます。たとえば、outdated
コマンドを実行すると、以下のようにその属性が明確に表示されます。
以下に、ヘルプシステムで見つかる詳細と例を示します
Chocolateyパッケージのアンインストール
最後に、インストールされているソフトウェアをもう使用しないことに決めたかもしれません。コントロールパネルに手動で移動してソフトウェアを見つけ、それを削除する代わりに、choco uninstall
コマンドを使用して迅速に削除できます。
choco uninstall
コマンドは、一度に1つまたは複数のソフトウェアパッケージを削除します。
以下のヘルプコンテンツを使用して、choco uninstall
コマンドの使用方法を確認してください。
変更を行う前に安全策を取る(choco whatif
)
ソフトウェア管理の自動化は、適切に行われない場合に破壊的なタスクとなる可能性があります。一度に多くの変更を行うのではなく、まずはテストランを実行して何が起こるかを確認することが賢明です。幸いにも、Chocolateyクライアントにはそのためのいくつかのパラメータがあります。
WhatIf
スイッチ
どのchocoコマンドにも、--whatif
というスイッチがあり、その別名には--noop
と--what-if
があります。これらのスイッチをchocoコマンドと一緒に使用すると、Chocolateyは実際にはアクションを実行せず、何が起こるかを通知します。
以下は、実際には何も実行しないようにwhatif
スイッチを使用して、ローカルシステム上のすべてのパッケージをアンインストールしようとする例です。
アクションの確認
パッケージをインストールするためにchoco install
を実行すると、通常、インストールプロセスを継続するかどうかを確認するプロンプトが表示されます。Chocoは、最初のパッケージの依存関係として呼び出される追加のパッケージに対しても確認を求めます。
以下は、実際にアクションを実行する前にFirefoxをインストールするようにプロンプトを表示する、Chocolateyの例です。
確認プロセスは安全装置ですが、作業を遅くすることがあります。プロセスを中断せずに続行する場合は、コマンドの最後に-y, --yes
または--confirm
のスイッチを追加してください。
-y
スイッチを使用すると、スケジュールされたタスクなどの非対話型コマンドの実行時に便利です。
次のステップ
Chocolateyをインストールして使用する方法を知ったら、次はどうしますか? 普通にインストールして何度もアップグレードする必要がある一般的なソフトウェアを見つけてみてください。
それらのソフトウェアを管理するためのスクリプトを作成して、この便利なWindowsパッケージマネージャーについて学び始めましょう!