このページの本文へ

前へ 1 2 次へ

Windows Info 第275回

Windowsで開発中のパッケージマネージャー「winget」がv0.3に

2021年05月16日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 Windows公式パッケージマネージャーである「Windows Package Manager」こと「Winget」のプレビューv0.3が公開された。Wingetを本連載で扱ったのは、昨年9月の時点で、このときのバージョンは、v0.1.42241だった(「Windows用アプリのインストールがコマンドラインで可能なパッケージマネージャー「winget」はどうなった?」)。

Windows Package Managerことwinget。マイクロソフトがオープンソースで開発を続けるWindowsの「公式」パッケージマネージャーといっていいだろう

 昨年時点でのロードマップでは、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
    }
}

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン