Skip to content

MS_WindowsPackageManager

nishi_74322014 edited this page Aug 31, 2026 · 1 revision

Windows 10のパッケージ・マネージャ

概要

昨今、Linux で言う所の
apt や yum コマンド
と似た機能を提供する、
所謂一つのパッケージ・マネージャが開発・提供されているらしい。

詳細

PackageManagement (aka OneGet)

PowerShell のコマンドレット

  • NuGetProviderChocolateyProvider などをインストールする。
  • 各パッケージ・マネージャが、このコマンドレットから利用可能になる。

補足(現況): PackageManagement(OneGet)は
「複数のパッケージ管理システムをプロバイダとして束ねる」という構想だったが、
想定ほど普及せず、現在は事実上メンテナンス モードにある。
後述の winget が Microsoft 公式の主流になったため、
新規に採用する理由は薄い。

Windows Package Manager (aka winget)

  • Linux ライクな機能(WSL や Windows Terminal に加え)

補足(winget が公式の主流になった): 本ページ執筆時点では
プレビュー段階だったが、現在は、

  • Windows 10 / 11 に「アプリ インストーラー」として標準搭載されている
  • winget install / upgrade / list / export / import などが使える
  • winget configure(WinGet Configuration)により、
    YAML ファイルで開発環境の構成を宣言的に再現できる
  • リポジトリは microsoft/winget-pkgs(GitHub)で運営され、
    マニフェストを PR で追加する方式

著者が最後に挙げている Scoop の「開発環境構築を楽にする」という価値は、
winget configure によって公式側にも取り込まれた形になる。

Chocolatey

  • Ubuntu / Debian 系でよく使われるパッケージ管理の apt-get の Windows 版
  • PackageManagement から利用できるが単独利用も可能。

補足: 現在も活発に使われており、
winget より収録パッケージ数が多い
企業向けの機能(内部リポジトリ、ライセンス版)が充実している
といった強みがある。winget と共存させて使う運用も一般的。

Scoop

  • Linux 文化圏

    • にいるけど、色々理由があって今は Windows を使ってるって人間に向けて開発されている。
    • のやり方を Windows 上でやることに意義を感じないなら、Scoop を使う必要はない。
  • そして、

    • Scoop は開発環境構築を楽にすることに強くフォーカスしている。
    • PackageManagement エコシステムの外に居る。

補足(Scoop の設計上の特徴): 著者の言う「Linux 文化圏のやり方」を
具体的に補うと、Scoop は次の点で他と異なる。

  • 既定でユーザー プロファイル配下にインストールする
    管理者権限が要らない(Chocolatey は原則として要る)
  • UAC のダイアログが出ないため、スクリプトから一括構築しやすい
  • バージョンごとにディレクトリを分け、シンボリック リンクで切り替える
    → 複数バージョンの共存と切り戻しが容易

CLI ツールや開発ツールを個人環境に入れる用途に向き、
一般ユーザー向けの GUI アプリ配布は winget / Chocolatey の領分になる。

NuGet

コチラは、言語系のパッケージ・マネージャ

  • 所謂一つの NuGet パッケージ・マネージャ。
  • PackageManagement から利用できる。

補足(2 つの層を区別する): 本ページが最後に NuGet に触れているとおり、
パッケージ・マネージャには目的の異なる 2 つの層がある。

対象
システム / アプリ PC にソフトを入れる winget、Chocolatey、Scoop、apt、yum
言語 / ライブラリ プロジェクトに依存を入れる NuGet、npm、pip

前者は端末の状態を、後者はリポジトリの内容を管理する。
混同すると、CI で「なぜビルドが再現しないのか」といった形で問題になる。

参考

PackageManagement (aka OneGet)

Windows Package Manager (aka winget)

Chocolatey

Scoop

本 Wiki 内


Tags: インフラストラクチャ, Windows

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally