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 <検索ワード>
winget search vscode
アプリの詳細情報を表示する
アプリの詳細情報を表示するには、winget show
コマンドを使用します。
winget show <アプリの名前やID>
winget show vscode
使用可能なバージョン番号の一覧を表示する
アプリの使用可能なバージョン番号の一覧を表示するには、
winget show
コマンドに --versions
オプションを指定します。
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>
winget install vscode
バージョン番号を指定する
インストールするアプリのバージョン番号を指定する場合は、
winget install
コマンドに --version
オプションを指定します。
--version
オプション には、エイリアス(別名) -v
オプションがあります。
winget install vscode -v 1.80.0
アプリを正確に指定する
コマンドを実行する際にアプリの名前やIDを指定する必要があるわけですが、
あいまいな内容で指定することができますので、
入力した内容によっては複数のアプリが一致してしまう可能性があります。
あるアプリを正確に指定したい場合は、アプリの名前ではなくIDで指定すると良いでしょう。
アプリをIDで指定する場合は、--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>
winget upgrade vscode
全てのアプリを更新する
winget upgrade
コマンドに、--all
オプションを指定します。
winget upgrade --all
アプリをアンインストールする
アプリをアンインストールするには、winget uninstall
コマンドを使用します。
winget uninstall <アプリの名前やID>
winget uninstall vscode
アプリの一覧を出力する(エクスポート)
インストールされているアプリの一覧を JSON ファイルに出力(エクスポート)することができます。 エクスポートされたファイルをインポートすれば、PC の環境を簡単に移行することができます。 エクスポートされるファイルは JSON ですので、手動で編集することができます。 後でインポートしたくないアプリがある場合は、JSON ファイルを編集して削除しておくと良いでしょう。
アプリの一覧をエクスポートするには、winget export
コマンドを使用します。
--output
オプションを使用し、エクスポート先のファイル名を指定します。
--output
オプション には、エイリアス(別名) -o
オプションがあります。
winget export -o <エクスポート先のファイル名>
winget export -o myapps.json
バージョン番号も含めてエクスポートする
デフォルトのエクスポートでは、バージョン番号は出力されません。 そのため、エクスポートされたファイルをインポートすると、 そのアプリの最新バージョンがインストールされることになります。 つまり、移行元の環境と移行後の環境で、アプリのバージョンが異なってしまう可能性があるということです。 もし、アプリのバージョンも含めて完全に環境を移行したい場合は、 バージョン番号も含めてエクスポートする必要があります。
バージョン番号も含めてエクスポートするには、
winget export
コマンドに --include-versions
オプションを指定します。
winget export -o myapps_with_versions.json --include-versions
アプリの一覧からインストールする(インポート)
JSON ファイルにエクスポートされたアプリの一覧から、アプリをインストール(インポート)することができます。
インポートするには、winget import
コマンドを使用します。
--import-file
オプションを使用し、インポート元のファイル名を指定します。
--import-file
オプション には、エイリアス(別名) -i
オプションがあります。
winget import -i <インポートするファイル名>
winget import -i myapps.json
バージョン番号を無視してインポートする
インポートの元の JSON ファイルにバージョン番号が含まれている場合でも、 最新バージョンのアプリをインストールしたい場合は、 バージョン番号を無視してインポートする必要があります。
バージョン番号を無視してインポートするには、
winget import
コマンドに --ignore-versions
オプションを指定します。
winget import -i myapps_with_versions.json --ignore-versions