このページの本文へ

前へ 1 2 次へ

Windows Info 第240回

Windows用アプリのインストールがコマンドラインで可能なパッケージマネージャー「winget」はどうなった?

2020年09月06日 10時00分更新

文● 塩田紳二 編集● ASCII

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

 5月に登場して、本連載でも紹介したマイクロソフトのパッケージマネージャーwingetだが(「Windows 10のパッケージマネージャーであるwingetのプレビュー版を試す」)、その後、少し開発が進んだようである。

winget v0.1.42241 Previewでは、インストール時のゲージ表示などに色を付けられるようになった。設定は、Windows Terminalなどと同じくjsonファイルでする

 大きな方向性として、Microsoftストアのアプリケーションも管理対象になるようだ。ただし、現在のプレビュー版では準備段階で、まだMicrosoftストアのアプリを探すことはできないようである。とはいえ、コマンドラインからMicrosoftストアを含めて、ソフトウェアを探して、インストールできるというのは便利そうだ。

 現在でも、インストールされているMicrosoftストアのパッケージや標準添付のMicrosoftストアアプリケーション、Microsoftインストーラーでインストールしたデスクトップアプリは、Powershellから管理可能である。だが、新規にアプリケーションをMicrosoftストアからインストールすることはできない。なので、コマンドラインからMicrosoftストアアプリが検索できて、インストールできるなら、標準的に使われるアプリにおいては便利だろう。

いったいどんなアプリがリポジトリに登録されている?

 こうしたパッケージマネージャーは、リポジトリと呼ばれる、アプリケーション登録の仕組みを持つのが普通だ。というよりもリポジトリのないパッケージマネージャーは、単なるインストーラーでしかない。とりあえずは、

winget.exe search

でリポジトリ内のすべてのプログラムを表示することはできる。

wingetのsearchサブコマンドを引数なしで実行すると、リポジトリに登録されているプログラムがすべて出力される

 しかし、ここから何かを探すのはちょっと大変だ。1つの手がかりとしては「tag」がある。これは、リポジトリ内の書くアプリケーションが持つ情報(マニフェストと呼ぶようだ)に付けられた情報で、たいていは、プログラムのカテゴリーを示す。たとえば、「graphics」タグを使って、

winget search --tag graphics

とすると、graphicsタグを持つプログラムだけを表示できる。

--tagコマンドを使うことで、リポジトリに登録されたプログラムのマニフェストに登録されたtagで対象を限定できる

 実際には、--tagオプションは文字列比較なので、部分一致でも検索できる。そうすると、

winget search --tag graph

とすれば、一部に「graph」という文字列を含むタグを持つプログラムをすべて表示できる。

 残念なことにすべてのプログラムのマニフェストに完全なタグが付けられているわけではないので、取りこぼしもありえる。ただし、Serarchサブコマンドの引数は、マニフェスト全体を検索対象としているので、

winget search graph

とすれば、graphがマニフェストに含まれるプログラムを列挙することが可能だ。ただし、この方法では、大量の結果が出てくる可能性もある。たとえばエディターを探そうと「edit」というキーワードを指定すると、マニフェストにある「Edition」が引っかかる。こうした場合には、やはりタグとして指定したほうがよさそうだ。

githubには、リポジトリのソースがある

 リポジトリに登録されているプログラムのマニフェストは、実は、wingetのgithub内にソースが置かれている。

●winget-pkgs/manifests
 https://github.com/microsoft/winget-pkgs/tree/master/manifests

 ここを見ることで、リポジトリ全体を閲覧可能だ。wingetの出力を見るよりは、一覧性が高いので、こっちを探すという方法もある。ただし、ここはマニフェストのソースなので、過去バージョンのものなどもある。マニフェストは、YAML(YAML Ain't Markup Language)で記述されており、表示させれば、だいたい意味がわかる。

●The Official YAML Web Site
 https://yaml.org/

 ここで、調べたいアプリ名をブラウザの検索機能などで検索して、必要なものは、

winget show アプリ名 [-e|--exact]

でマニフェストを表示させればよい。なお、wingetには、名前がほとんど同じプログラムが複数登録されているので、その場合には、厳密な指定である「-e」または「--exact」を最後に付ける。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

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

ピックアップ

ASCII.jp RSS2.0 配信中

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