Windows Package Manager 1.2登場
このところPowerShellに関連した重要なアップデートが続いているので、今回はそれらを取り上げておきたい。今回は「Windows Package Manager 1.2」だ。
Windows Package Manager 1.2に関しては次のページに簡単な説明がまとまっている。
「Windows Package Manager 1.2」で機能的に注目されるのは、ARM64のサポートが追加された点だ。Surface Pro X、Lenovo X13s、Samsung Galaxy Book GoといったようなデバイスにおけるWindows Package Managerのユーザーエクスペリエンスが向上した。Windows Package Managerはハードウェアアーキテクチャに基づいて利用可能なパッケージを選択し、ネイティブオプションが選択できない場合には次善策を選択するようになる。
それ以外の新機能は、どちらかと言うとパッケージを開発する開発者へ向けたものである印象が強い。しかし、これこそがWindows Package Manager 1.2で特に注目しておきたい部分だ。
現在、Windows Package ManagerではMicrosoft StoreおよびWindows Package Manager Community App Repositoryをソースとして数千のパッケージを利用できるようになっている。Windows Package Managerが今後もアクティブに利用できるかどうかは、このリポジトリがどこまでアクティブにアップデートされるかにかかっている。パッケージ管理システムが仮に完璧に動作したとしても、古いバージョンしか登録されていないようでは誰も使わなくなってしまう。常に最新版が登録された状態にアップデートされている必要があるし、多くのパッケージが登録されて不足のない状態になっていることが望ましいのだ。そのためには、Microsoftだけではなくパッケージを開発する開発者の労力は欠かすことができない。
Windows Package Manager 1.2はそういった点で注目しておきたいバージョンだ。Windows Package Managerは、今後Windowsの管理機能において重要なポジションを占めていく可能性が高い。個々のバージョンでどういった取り組みが行われているか、注目しておきたいところだ。
wingetで問題が発生したらどうするか
Windows Package Managerでは長いので、以降は「winget」と呼ぶ。wingetはLinuxのaptやMacのbrewのように便利なパッケージ管理システムであり、コマンドなのだが、まだ機能面は十分ではない。通常の利用範囲であれば問題ないのだが、何か問題が発生したときに修正したり、強制的に操作したりする方法が提供されていないのだ。
例えば、次のスクリーンショットはwingetでインストールされているアプリケーションの一覧を表示させたところだ。
「winget upgrade」と実行すれば、アップグレード可能なアプリケーションの一覧が表示される。
この状態でわかると思うが、同じアプリケーションが2つ登録されているなど、実はすでにおかしなことになっている。こうなるとwingetではお手上げだ。wingetからはこうした不整合が発生した状態を修正する方法がまだ提供されていないのである。
こうなってしまった場合、まずは「設定アプリケーション」の「アプリ」→「アプリと機能」を開いて、可能であればおかしくなったアプリケーションをアンインストールしてしまうというのが一つの手だ。再インストールすると問題が解消することがある。
Microsoftはさまざまな設定を「設定アプリケーション」へマージする取り組みを進めているが、十分なものではない。専用のアプリケーションやコントロールパネルから操作できることに比べると、設定アプリケーションで操作できる内容はお上品すぎて不十分であることが否めない。一度トラブルが発生すると対処できないことが多いのだ。
wingetをいろいろいじっていると、重複登録やアンインストールできないパッケージが生まれることがある。こうなってしまうと、設定アプリケーションからでは手も足も出ない。アンインストールしたはずのパッケージが常に残り続けているという、何ともスッキリしない状態が続くこともある。
そんなときには「コントロールパネル」の「プログラムのアンインストール」を試してみよう。
コントールパネルの「プログラムのアンインストールまたは変更」からは、wingetや設定アプリケーションから削除できなくなったものもアンインストールすることができる。もしどうにもならないパッケージが生まれてしまった場合にはこちらから一旦アンインストールを試みてみよう。
クリーンな状態になると、次のようにwingetからすべてアップグレードしてすべて最新版といった状況にすることができる。
PowerShellとwingetは相性抜群
PowerShellをメインのインタラクティブシェルにしているくらいの状況であれば、すでにwingetは日々活用しているのではないだろうか。wingetはとても便利なのだが、今回解説したように、まだ登録されているアプリケーション数が少なかったり、問題が発生したときの対処機能が不足したりしている点は否めない。
パッケージ管理システムとしてwingetは最後発の部類に入る。パッケージ数も管理機能もまだまだこれからといったところだ。しかし、この機能がWindowsのアプリケーション管理をLinux並に簡単にしてくれるのは間違いないだろう。現在の開発状況に注目するとともに、今後の展開に注目しておきたい。