winget の使い方

Windows にアプリをインストールする際、手動で1つずつインストールすることもできるのですが、 たくさんのアプリを一度にインストールしたい場合などは大変です。

winget とは?

winget は、Windows のアプリ(パッケージ)を管理するためのパッケージマネージャーです。 Linux でいうところの apt コマンドや yum コマンドのようなものです。 winget を使用すると、Windows アプリのインストールやアンインストールをコマンドラインから簡単に行うことができます。

winget のインストール

winget は Microsoft Store アプリの「アプリ インストーラー」というアプリに含まれているのですが、 このアプリはデフォルトで Windows にインストールされるようになっているので、 winget のインストール作業は特に必要ありません。 何もしなくてもデフォルトで winget コマンドが使用できるはずですので確認してみましょう。 下記のコマンドを実行してバージョン番号が表示されれば、ちゃんとインストールされています。 ちなみにですが、Linux の wget コマンドと名前がとても似ているので、間違えないよう注意しましょう。

winget --version

ヘルプを表示する

winget コマンドの詳しい使い方が知りたい場合は、ヘルプを表示してみましょう。

winget --help

現在インストールされているアプリの一覧を表示する

現在インストールされているアプリの一覧を表示するには、winget list コマンドを使用します。

winget list

出力内容の「Version」の項目が、現在インストールされているバージョン番号で、 「Available」の項目が、そのアプリの最新のバージョン番号になります。

出力内容
Name                                     Id                                        Version             Available Source
-----------------------------------------------------------------------------------------------------------------------
7-Zip 22.01 (x64)                        7zip.7zip                                 22.01               23.01     winget
Amazon Kindle                            Amazon.Kindle                             1.40.0.65415                  winget
GIMP 2.10.34                             GIMP.GIMP                                 2.10.34                       winget
Git                                      Git.Git                                   2.39.1              2.41.0.2  winget
Google Chrome                            Google.Chrome                             114.0.5735.199                winget

インストールできるアプリを探す

winget でインストールできるアプリは、winget のリポジトリに登録されているアプリのみです。 どんなアプリでもインストールできるというわけではないので注意してください。 winget でインストールできるアプリを探すには、winget search コマンドを使用します。

書式
winget search <検索ワード>
例:「VS Code」アプリを探す場合
winget search vscode

アプリの詳細情報を表示する

アプリの詳細情報を表示するには、winget show コマンドを使用します。

書式
winget show <アプリの名前やID>
例:「VS Code」アプリの詳細情報を表示する場合
winget show vscode

使用可能なバージョン番号の一覧を表示する

アプリの使用可能なバージョン番号の一覧を表示するには、 winget show コマンドに --versions オプションを指定します。

例:「VS Code」アプリのバージョン番号一覧を表示する場合
winget show vscode --versions
出力内容
Found Microsoft Visual Studio Code [Microsoft.VisualStudioCode]
Version
-------
1.80.0
1.79.2
1.79.1
1.79.0
1.78.2

アプリをインストールする

アプリをインストールするには、winget install コマンドを使用します。

書式
winget install <アプリの名前やID>
例:「VS Code」アプリをインストールする場合
winget install vscode

バージョン番号を指定する

インストールするアプリのバージョン番号を指定する場合は、 winget install コマンドに --version オプションを指定します。 --version オプション には、エイリアス(別名) -v オプションがあります。

例:「VS Code」アプリのバージョン「1.80.0」をインストールする場合
winget install vscode -v 1.80.0

アプリを正確に指定する

コマンドを実行する際にアプリの名前やIDを指定する必要があるわけですが、 あいまいな内容で指定することができますので、 入力した内容によっては複数のアプリが一致してしまう可能性があります。 あるアプリを正確に指定したい場合は、アプリの名前ではなくIDで指定すると良いでしょう。 アプリをIDで指定する場合は、--id オプションを指定します。

例:「VS Code」アプリをIDで指定してインストールする場合
winget install --id Microsoft.VisualStudioCode

アプリを最新化する

現在インストールされているアプリを最新化するには、winget upgrade コマンドを使用します。

更新できるアプリの一覧を表示する

winget upgrade コマンドをパラメーター無しで実行すると、更新できるアプリの一覧が表示されます。

winget upgrade
出力内容
Name                        Id                        Version        Available      Source
------------------------------------------------------------------------------------------
7-Zip 22.01 (x64)           7zip.7zip                 22.01          23.01          winget
Git                         Git.Git                   2.39.1         2.41.0.2       winget
Mozilla Firefox (x64 ja)    Mozilla.Firefox           114.0.2        115.0.2        winget
WinMerge 2.16.22.0 x64      WinMerge.WinMerge         2.16.22.0      2.16.30        winget
WinSCP 5.21.7               WinSCP.WinSCP             5.21.7         6.1.1          winget
5 upgrades available.

特定のアプリを更新する

特定のアプリを更新したい場合は、winget upgrade コマンドで更新したいアプリを指定します。

書式
winget upgrade <アプリの名前やID>
例:「VS Code」アプリを更新する場合
winget upgrade vscode

全てのアプリを更新する

winget upgrade コマンドに、--all オプションを指定します。

winget upgrade --all

アプリをアンインストールする

アプリをアンインストールするには、winget uninstall コマンドを使用します。

書式
winget uninstall <アプリの名前やID>
例:「VS Code」アプリをアンインストールする場合
winget uninstall vscode

アプリの一覧を出力する(エクスポート)

インストールされているアプリの一覧を JSON ファイルに出力(エクスポート)することができます。 エクスポートされたファイルをインポートすれば、PC の環境を簡単に移行することができます。 エクスポートされるファイルは JSON ですので、手動で編集することができます。 後でインポートしたくないアプリがある場合は、JSON ファイルを編集して削除しておくと良いでしょう。

アプリの一覧をエクスポートするには、winget export コマンドを使用します。 --output オプションを使用し、エクスポート先のファイル名を指定します。 --output オプション には、エイリアス(別名) -o オプションがあります。

書式
winget export -o <エクスポート先のファイル名>
例:「myapps.json」ファイルにエクスポートする場合
winget export -o myapps.json

バージョン番号も含めてエクスポートする

デフォルトのエクスポートでは、バージョン番号は出力されません。 そのため、エクスポートされたファイルをインポートすると、 そのアプリの最新バージョンがインストールされることになります。 つまり、移行元の環境と移行後の環境で、アプリのバージョンが異なってしまう可能性があるということです。 もし、アプリのバージョンも含めて完全に環境を移行したい場合は、 バージョン番号も含めてエクスポートする必要があります。

バージョン番号も含めてエクスポートするには、 winget export コマンドに --include-versions オプションを指定します。

例:「myapps_with_versions.json」ファイルにバージョン番号も含めてエクスポートする場合
winget export -o myapps_with_versions.json --include-versions

アプリの一覧からインストールする(インポート)

JSON ファイルにエクスポートされたアプリの一覧から、アプリをインストール(インポート)することができます。 インポートするには、winget import コマンドを使用します。 --import-file オプションを使用し、インポート元のファイル名を指定します。 --import-file オプション には、エイリアス(別名) -i オプションがあります。

書式
winget import -i <インポートするファイル名>
例:「myapps.json」ファイルからインポートする場合
winget import -i myapps.json

バージョン番号を無視してインポートする

インポートの元の JSON ファイルにバージョン番号が含まれている場合でも、 最新バージョンのアプリをインストールしたい場合は、 バージョン番号を無視してインポートする必要があります。

バージョン番号を無視してインポートするには、 winget import コマンドに --ignore-versions オプションを指定します。

例:「myapps_with_versions.json」ファイルのバージョン番号を無視してインポートする場合
winget import -i myapps_with_versions.json --ignore-versions

参考サイト

関連記事

Windows では、コマンドプロンプト、Windows PowerShell、WSL(Windows Subsystem for Linux)、Git Bash などのコマンドラインツールがいくつかあります。それらのアプリが増えてきてしまい、タスクバーがとっちらかってしまっている方もいると思います。そんな場合に便利な ...
いろんなアプリをインストールして試してみたいけれど、あまり現在の環境に手を入れたくない場合、手軽に試せる別の環境が欲しいなと思ったことはありませんか?そんなときに便利なのが Windows サンドボックスです。Windows サンドボックスとは?Windows サンドボックスは、アプリを安全に分離して実行できる軽量なデ ...
Windows で開発している際、動作確認のために Linux のプログラムやコマンドを動かしたいなと思うことがあります。そんな場合に便利なのが WSL(Windows Subsystem for Linux)です。WSL(Windows Subsystem for Linux)とは?WSL(Windows Subsy ...
もはや PHP で開発を行う際に、使用していないプロジェクトは探すのが大変なぐらいスタンダードな存在となった Composer ですが、昨年めでたく 2.0 になったということで、改めて少しまとめてみます。今更とか言っちゃダメです。Composer とは?Composer は、PHP の依存関係管理のためのツールです。 ...
最近の Web 界隈では、UX を高めるために、UI を JavaScript でガリガリ実装するというのが普通になってます。フロントエンドエンジニアなんていう職種が生まれるほど、この界隈は活発です。そこでフロントエンド開発でほぼ必須となるであろう Node.js と npm について少しまとめてみます。今更感がすごい ...

記事検索

最新記事

人気記事

RSSフィード

お知らせ

フィードバック

要望などあれば、お気軽にどーぞ。 不具合やバグを発見した場合も、連絡をいただけると助かります。

匿名でフィードバックする
匿名でフィードバックする

要望などあれば、お気軽にどーぞ。 不具合やバグを発見した場合も、連絡をいただけると助かります。

なお、このフォームから入力された内容について、管理者から返信はできませんので注意してください。 もし、管理者からの返信が必要であれば、X(Twitter) もしくは、お問い合わせより、お願いします。

  • フィードバックの送信が完了しました。