- winget とは
- バージョン確認
- 利用可能なコマンド
- インストール済みパッケージの確認
- パッケージの検索
- アプリケーションのインストール
- アプリケーションのアップグレード
- アプリケーションのアンインストール
- 導入パッケージのエクスポート/インポート
winget とは
- MS社製のパッケージマネージャ
- リポジトリは Windows Package Manager
- 2021年5月26日 に初版公開
- ChocolateyやScoopなどと同様に、コマンド一発でアプリケーションのインストールが可能
- Windows10 と Windows11 にバンドルされている
バージョン確認
大抵の環境では既にインストールされている。
> winget -v v1.4.10173
インストールされていない場合は Microsoft Store からインストール可能。
利用可能なコマンド
winget は以下のように利用する。
> winget [<コマンド>] [<オプション>]
コマンドは以下を指定できる。
コマンド | 説明 |
---|---|
install | 指定されたパッケージをインストール(エイリアスadd ) |
show | パッケージに関する詳細を表示(エイリアスview ) |
source | パッケージのソースの管理 |
search | パッケージを検索(エイリアスfind ) |
list | インストール済みパッケージを表示(エイリアスls ) |
upgrade | 利用可能なアップグレードの表示と実行(エイリアスupdate ) |
uninstall | 指定されたパッケージをアンインストール(エイリアスrm / remove ) |
hash | インストーラー ファイルをハッシュするヘルパー |
validate | マニフェスト ファイルを検証 |
settings | 設定を開くか、管理者設定を設定する |
features | 試験的な機能の状態を表示 |
export | インストールされているパッケージのリストをエクスポート |
import | ファイル中のすべてのパッケージをインストール |
インストール済みパッケージの確認
以下で一覧を確認できる。
winget で導入したものだけでなく、アプリケーションの追加と削除 で表示される項目も含まれる。
> winget ls 名前 ID バージョン 利用可能 ソース -------------------------------------------------------------------------------------------------- Intel® Graphics Control Panel AppUp.IntelGraphicsCo… 3.3.0.0 Ubuntu 20.04 on Windows Canonical.Ubuntu.2004 2004.2022.8.0 winget Git version 2.28.0 Git.Git 2.28.0 2.40.1 winget Google Chrome Google.Chrome 113.0.5672.127 114.0.5735.91 winget ...
winget で扱えるものは、ソースとして winget
が表示される(winget パッケージの情報は winget-pkgs リポジトリ でYAMLファイルとして管理されている)。
Microsoft Store のパッケージは msstore
が表示される。
名前とソースを指定する場合は以下のようにできる。
> winget ls --name git -s winget 名前 ID バージョン 利用可能 ---------------------------------------------- Git version 2.28.0 Git.Git 2.28.0 2.40.1
パッケージの検索
パッケージの検索は search
で行うが、find
というエイリアスがあるので、こちらを利用する方がタイプしやすい。
> winget find podman 名前 ID バージョン 一致 ソース ------------------------------------------------------------------ Podman RedHat.Podman 4.5.1 winget dive wagoodman.dive 0.10.0 Tag: podman winget Podman Desktop RedHat.Podman-Desktop 1.0.1 winget ...
空白を含む場合は "Podman Desktop"
のようにダブルクオートで括る。
その他の細かい検索は、以下でヘルプを参照。
> winget find --help
アプリケーションのインストール
install
または add
でパッケージ名またはIDなどを query として指定する。
例えば以下のようになる。
> winget add RedHat.Podman-Desktop
パッケージを完全一致で指定する場合は -e
か --exact
オプションを指定する。
以下のようにインストールが完了する。
> winget add RedHat.Podman-Desktop 見つかりました Podman Desktop [RedHat.Podman-Desktop] バージョン 1.0.1 このアプリケーションは所有者からライセンス供与されます。 Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。 ダウンロード中 https://github.com/containers/podman-desktop/releases/download/v1.0.1/podman-desktop-1.0.1-setup.exe ██████████████████████████████ 113 MB / 113 MB インストーラーハッシュが正常に検証されました パッケージのインストールを開始しています... インストールが完了しました
インストールしたアプリケーションは winget ls
で確認できるほか、「アプリと機能」のインストール済みアプリケーションでも確認できる。
特定のバージョンを指定するには --version
オプションで指定する。
> winget add <query> --version 1.0.8
その他のオプションは以下参照。
> winget add --help
アプリケーションのアップグレード
アップグレード可能なパッケージの確認
> winget upgrade 名前 ID バージョン 利用可能 ソース ------------------------------------------------------------------------------- Git version 2.28.0 Git.Git 2.28.0 2.40.1 winget Google Chrome Google.Chrome 113.0.5672.127 114.0.5735.91 winget Zoom Zoom.Zoom 5.14.2.14578 5.14.5.15287 winget ...
エイリアスとして update
でも同様。
ソースが winget
のものでアップグレード可能なものが一覧できる。
全てアップグレード
> winget upgrade --all
特定アプリのみアップグレード
> winget upgrade Git.Git
名前(空白を含む場合はダブルクオートで括る)かIDで対象を指定。
アプリケーションのアンインストール
uninstall
または rm
で IDなどを query として指定する。
例えば以下のようになる。
> winget rm RedHat.Podman-Desktop
パッケージを完全一致で指定する場合は -e か --exact オプションを指定する。
導入パッケージのエクスポート/インポート
winget の管理対象パッケージは、インストール済みのアプリケーションの情報をエクスポートして、他のマシンにインポートすることで、アプリケーションを バッチ インストールできる。
以下のようにエクスポートファイルを指定してエクスポート。
> winget export -o export.json
以下のようなJSONファイルが出力される。
{ "$schema" : "https://aka.ms/winget-packages.schema.2.0.json", "CreationDate" : "2023-06-01T13:06:04.838-00:00", "Sources" : [ { "Packages" : [ { "PackageIdentifier" : "Git.Git" }, { "PackageIdentifier" : "Google.Chrome" }, { "PackageIdentifier" : "Microsoft.Edge" }, ... ], "SourceDetails" : { "Argument" : "https://cdn.winget.microsoft.com/cache", "Identifier" : "Microsoft.Winget.Source_8wekyb3d8bbwe", "Name" : "winget", "Type" : "Microsoft.PreIndexed.Package" } } ], "WinGetVersion" : "1.4.10173" }
必要なパッケージを加工するなどして、他のマシンで以下のようにインポートすることで、アプリケーションのバッチインストールができる。
> winget import -i export.json