Windowsのパッケージ管理システムPackageManagementを使ってみた

パッケージ管理システムといえば、MacだとHomebrewLinuxだとyum又はapt-getが有名ですが、Windowsも10以降はPackageManagementという名称で標準で用意されています。今回はこのPackageManagementについて紹介していきます。

パッケージ管理システム

パッケージ管理システムは、ソフトウェアの管理を行うツールです。近年、ソフトウェアも豊富かつ複雑になっています。その結果、以下の様な問題が発生しています。

・ソフトウェアを探すのがまず大変。公式のサイトへ行き。そこからソフトウェアダウンロード用のページを探さなくてはいけない。

・ソフトウェアを動作させるには、別のソフトウェアが必要という依存関係が発生するケースがある。その場合、ソフトウェアインストール後に、エラーの内容を確認し、必要なソフトウェアをまた探し回らなくてはいけない。

・ソフトウェアの更新があっても、公式サイトをチェックするか、ソフトウェア内で通知が無い限り、気づかない。

・アンインストールが面倒。ソフトウェア度にアンインストールの手法が異なり、「プログラムと機能」から削除、ソフトウェアの機能でアンインストール、ソフトウェアのexeファイルがあるフォルダを丸ごと削除、のどれかを行えば良いのか個別に異なるため悩む。

 

上記の問題を解消するために登場したのが、パッケージ管理システムです。他のOSでは早い段階で存在していたのですが、Windows10からようやく標準で用意されました。

さて、このパッケージ管理システムPackageManagementはパッケージ管理システムを統括する大元のパッケージ管理システムというものです。

まずは、使ってみましょう。PowerShellで操作するのですが、その前に下記のコマンドを入力してポリシーを確認しましょう。

Get-ExecutionPolicy

Restricted と表示されていれば(初期値なので大抵はRestrictedです)、ガチガチのポリシーとなっているので、ゆるめます。PowerShellを管理者権限で開き、下記のコマンドを入力します。

Set-ExecutionPolicy RemoteSigned

パッケージプロバイダ

PackageManagementは、パッケージ管理システムを統括するツールなので、直接ソフトウェアのインストールは行いません。実際にソフトウェアのインストール、アップデートはパッケージプロバイダです。以前紹介したchocolateyもパッケージプロバイダという扱いになります。このパッケージプロバイダを経由して各ソフトウェアをインストールします。

公開されているプロバイダーの検索は下記のコマンドでできます。
Find-PackageProvider

なんか色々と出てきます。(ちなみに文中のOneGetはPackageManagementの旧名です)
この検索で表示されているプロパイダーは、PCに登録されているプロバイダーでは無く、インストール可能なプロバイダーの一覧となります。(既にインストールされているプロバイダーも含みます)
色々ありますが、欲しいプロパイダーといえばChocolateyなので、Chocolateyを入れます。
まず、Chocolateyが既にPCに登録されているか確認します。
Get-PackageProvider Chocolatey
入っていれば下図の様に表示されます。

入っていなければ、インストールを求められるのでYを押します。

パッケージ

パッケージとはソフトウェア(及びその関連ツールを含む)となります。

インストール可能なパッケージの検索はこんな感じで、パッケージ名を指定します。
Find-Package FileZilla

ちなみ、Sourceの項目がインストール可能なプロパイダ名となります。
試しにEdgeで検索すると、Sourceの項目にNuGetとChocolateyが併記されます。
Find-Package Edge

各プロパイダーに登録されているパッケージの一覧が欲しい時は、下記のコマンドを入力すればOKです。
Find-Package -ProviderName chocolatey

正直1画面に収まらず、延々とリストを表示し続けるので、ファイルに保存しておきましょう。
Find-Package -ProviderName chocolatey > choco_package_list.txt
(関係ないですが、PowerShellのコマンドは、[動詞]-[名詞]で体系化されているので、非常に分かりやすくて好感が持てます。)

欲しいパッケージが見つかったら、インストールします。

Install-Package WinMerge

PCにインストールされているかどうかは、Getで確認します。
Get-Package WinMerge

アンインストールは下記のコマンドで実現できます。簡単ですね。
Uninstall-Package WinMerge

さてさて、ここまで紹介してて何ですが、実は私はPackageManagementを殆ど使っていません。正直、Chocolateyがあれば大抵のソフトウェアは管理出来るのとGUIのツールも存在するので、kコレ一つで十分事足りるている感じです。まぁ、Chocolateyに関してもインストール、アンインストールが不安定な時もあり、必ずしも満足しているワケでは無いのですが、Windowsでパッケージ管理システムを使うならば、Chocolatey一択で考えて問題無いかなと思っています。

 

金曜日担当 Window開発チーム



アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム