Windows標準のパッケージ管理ツール「Winget」について調べてみた
はじめに
こんにちは、SHIFTのITソリューション部に所属しているHoribeです。
突然ですが、みなさんはWindowsのパッケージ管理ツールと聞いて何を思い浮かべるでしょうか?
macOSであればHomebrew、Linux系であればaptやyumなどが有名で、OSとセットのようなイメージで使われている方が多いかと思います。一方で、Windowsのパッケージ管理システムは知らないという人も多いかもしれません。
実はWindowsにもWindows Package Manager、通称Wingetというパッケージ管理ツールが存在します。本記事ではこのWingetについて、ツールが開発された背景や基本的な使い方、使用するメリットについて解説しようと思います。
Wingetとは
Winget(正式名称: Windows Package Manager)は、Microsoftによって開発されたWindows標準のパッケージ管理ツールです。一般的なパッケージ管理と同様に、コマンドラインから簡単にソフトウェアのインストール、アップデート、アンインストールを行うことができます。
Wingetが登場する以前にも、WindowsにはChocolateyやScoopなどのサードパーティ製のパッケージ管理ツールが存在していました。これらのツールと比べてWingetが優れているところは、Microsoftが公式に提供しているという点だと思います。公式のサポートがあることで、OSとの互換性やセキュリティにおいて信頼性が高いと考えられます。一方で、提供しているパッケージ数はWingetが約6000個、Chocolateyが約9000個となっています(2024年6月時点)。これから差は縮まっていくと思いますが、提供しているパッケージ数に関しては歴史が長いサードパーティ製のツールに軍配が上がるようです。
非公式ですが、UniGetUIというWingetを使うためのGUIアプリケーションも存在します。
導入手順
Wingetは、Windows 10バージョン1809以降およびWindows 11に標準で搭載されています。したがって、最新のWindows Updateをインストールしていれば、すでにWingetが利用可能な状態になっています。上記より古いバージョンを使用している場合は、Microsoft Storeから「アプリ インストーラー」をインストールすることでWingetを利用できるようになります。
基本コマンド
Wingetの基本的なコマンドは以下になります。
ソフトウェアの検索
ソフトウェアのインストール
インストール済みソフトウェアの一覧表示
ソフトウェアの更新
ソフトウェアのアンインストール
使い方
実際にWingetを使ってソフトウェアをインストールする流れを解説します。
今回はGoogle Chromeをインストールしてみます。
まずはWingetで管理可能なパッケージにGoogle Chromeがあるか調べます。
searchコマンドを入力すると、以下のように検索結果が表示され、IDやバージョンなどが確認できます。
名前 ID バージョン
------------------------------------------------
Google Chrome Google.Chrome 127.0.6533.120
... ... ...
IDを引数にして、インストールします。
installコマンドを入力すると、最新バージョンのGoogle Chromeがダウンロードされ、インストールまで自動的に完了します。完了後は通常のインストーラーを用いた場合と同様にスタートメニューから起動できます。
インストール済みのアプリケーションを最新バージョンにアップデートすることもコマンド一つで簡単に行えます。
upgradeコマンドを入力すると、すべてのアプリケーションを一括で更新することができます。 本記事では割愛しますが、タスクスケジューラと組み合わせることで定期的にupgradeコマンドを実行し、自動的に最新のバージョンに保つことも可能です。
また、PCを交換する・追加する際、アプリケーションの移行も簡単に行うことができます。
exportコマンドを入力すると、outputオプションで指定したパスにJSONファイルが出力されます。 このファイルにはインストール済みのアプリケーション情報が記載されています。
出力したJSONファイルを移行先のPCに配置します。
importコマンドを入力すると、import-fileオプションで指定したパスにあるJSONファイルを読み込みます。 インストールされていないアプリケーションはインストールされ、インストールされているアプリケーションも最新版にアップデートされます。 プロジェクトでチーム開発をする際、全員がWindows環境であれば開発環境のセットアップなどにも活用できると思います。
おわりに
今回の記事では、Windows標準のパッケージ管理ツールであるWingetについてまとめました。パッケージ管理ツールは依存関係が複雑になることもあり、バグが発生するとユーザーへの影響が非常に大きいです。WingetはMicrosoft公式のツールであるため、定期的なアップデートやバグ修正など、サードパーティアプリよりも安心して使用できる強みがあります。現時点では発展途上な機能もありますが、今後ますます改善されユーザーも増えていくのではないかと思います。
Wingetを活用することで、効率的にWindows環境を整えることができます。導入や使い方も難しくないため、エンジニアはもちろん、ぜひエンジニア以外の方にも使っていただけたら幸いです。
お問合せはお気軽に
https://service.shiftinc.jp/contact/
SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/
SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/
SHIFTの導入事例
https://service.shiftinc.jp/case/
お役立ち資料はこちら
https://service.shiftinc.jp/resources/
SHIFTの採用情報はこちら
https://recruit.shiftinc.jp/career/
PHOTO:UnsplashのBram Van Oost