Windows公式パッケージマネージャーである「Windows Package Manager」こと「Winget」のプレビューv0.3が公開された。Wingetを本連載で扱ったのは、昨年9月の時点で、このときのバージョンは、v0.1.42241だった(「Windows用アプリのインストールがコマンドラインで可能なパッケージマネージャー「winget」はどうなった?」)。
昨年時点でのロードマップでは、2021年5月にv1.0とする予定だが、バージョン番号を見る限り、v0.3.11201の公開が今月12日であり、ロードマップとは大きく乖離した状態だ。
上記の前回記事のあと、2020年9月15日にv0.2となったが、その後の進行が少しゆっくりになり、v0.3に上がったのが今年4月。v0.2にかなり手こずった感じだ。もっとも、これまで放置状態だったWindowsのアプリケーションインストールを管理しようというのだから、簡単に行かないのも理解できる。
Wingetは、LinuxやBSD系のOSで使われているパッケージマネージャーをWindows用に開発したものだ。何をもってパッケージマネージャーと呼ぶのかは明確な定義はないが、筆者は、「パッケージ形式」「パッケージリポジトリ」「パッケージ管理コマンド」の3つがそろったものと考えている。
Linux系では、90年代後半あたりからディストリビューションのメーカーが開発を始め、00年代には大半のLinuxディストリビューションが何らかのパッケージマネージャーを採用していた。今では、パッケージマネージャに何を使うのかという観点でLinuxディストリビューションを分類できるようになったぐらいだ。
しかしWindowsでは、msi形式によるインストールパッケージが強制されてはいるものの、パッケージは単独のアプリケーションに閉じており、依存関係の解決やアンインストールはパッケージの開発者に任されている。また、msi形式のパッケージ作成ソフトウェアが無料ではなかったことから、インストーラーを使わず、ファイルのコピーでインストール、削除でアンインストールというフリーソフトウェアも大量に出回った。
v0.3プレビューの概要
Winget v0.3は、プレビュー版で制限はあるものの、アプリケーションのインストール、アンインストール、アップデート(Upgradeと呼ぶ)が可能なことに加え、現在のインストール状態をファイルにエクスポートし、そのファイルをインポートすることで複数パッケージの連続インストールが可能になっている。
また、wingetでは、パッケージマネージャーでいうリポジトリをSourceと呼ぶが、Microsoftが用意した公式Sourceのほか、MicrosoftストアをSourceに追加することができる(ただし、一部のアプリケーションに制限されている)。
機能的には、前回紹介したv0.1よりはかなり進んでいて、コマンドラインとしては、最低限必要なものが揃った感じがある。
Wingetは、マイクロソフト系のコマンドラインに多い「サブコマンド」を使う形式だ。これは、コマンドラインの第1引数にサブコマンドを置き、その動作などは、オプション文字を使う各種のオプションで指定する。なお、Wingetのオプションは、Linuxなどと同じく「--」とハイフンを2つつなげる「GNUスタイル」(ロングオプションともいう)がメインで、一部のオプションにハイフンと英文字の組み合わせとなる「ショートオプション」が用意されている。
v0.3では、パッケージのinstall、upgrade、uninstallが可能だ。ただし、いくつかのサブコマンドは、現在のところ「実験的実装」となっており、settingsサブコマンドを使って設定JSONファイル(settings.josn)を編集して有効にする必要がある。
具体的には、以下のリストのように設定しておく。ちなみにこの設定は、v0.3ですべての実験的機能を有効にするものだ。ファイルをセーブしたら、「winget features」で実験的コマンドの状態を確認できる。
{
"$schema": "https://aka.ms/winget-settings.schema.json",
// For documentation on these settings, see: https://aka.ms/winget-settings
// "source": {
// "autoUpdateIntervalInMinutes": 5
// },
"visual": {
"progressBar": "accent"
},
"experimentalFeatures": {
"experimentalMSStore": true,
"list": true,
"upgrade": true,
"uninstall": true,
"restSource": true,
"export":true,
"experimentalCmd": true,
"experimentalArg": false
}
}
この連載の記事
-
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 -
第449回
PC
WSLはプレビュー版でGUIでの設定が加わった! リリース2.3.xの新機能を見る -
第448回
PC
PowerShellで面倒なオブジェクトはPSCustomObjectに変換するのが早道 -
第447回
PC
この秋登場のWindows 11の新バージョン、Ver.24H2の状況を見る -
第446回
PC
Windows 11のフォトアプリがUWPからWin32アプリになったことで今更わかるUWPの問題点 -
第445回
PC
次期Windows 11ではAndroidのファイルをエクスプローラーからアクセス可能になる - この連載の一覧へ