Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows 10 新功能 OneGet:套件管理器統一命令列安裝體驗

編輯:Windows 10 系統介紹

OneGet (現更名為 PackageManagement) 是 Windows 10 內建的套件管理器框架,透過 PowerShell 統一管理 Chocolatey、NuGet、PowerShell Gallery、Docker、MSI、EXE 等多種軟體來源。本文介紹核心概念、常用指令與生態現況。

核心定位

  • 非單一套件庫,而是提供者模型:OneGet 本身不儲存套件,負責發現、查詢、安裝、解除安裝,實際下載由 Provider 處理。
  • 內建 Provider:Bootstrap (Chocolatey)、NuGet、PowerShellGet (PSGallery)、MSI、EXE (基本安裝程式偵測)。
  • 開發者可撰寫自訂 Provider 整合私有倉庫、容器映像、雲端服務。

常用 PowerShell 指令

指令功能範例
Find-Package搜尋套件Find-Package -Name "git" -Source "Chocolatey"
Install-Package安裝套件Install-Package -Name "vscode" -Source "Chocolatey"
Uninstall-Package移除套件Uninstall-Package -Name "nodejs"
Get-Package列出已安裝Get-Package -Source "Chocolatey"
Get-PackageSource列出已註冊來源Get-PackageSource
Register-PackageSource新增來源Register-PackageSource -Name "MyRepo" -Location "https://my.repo/nuget" -ProviderName "NuGet"

實戰:安裝 Chocolatey 並透過 OneGet 管理軟體

  1. 管理員 PowerShell 執行:
    Install-PackageProvider -Name Chocolatey -Force (自動下載註冊 Bootstrap Provider)。
  2. 搜尋:Find-Package -Name "7zip" -Source Chocolatey。
  3. 安裝:Install-Package -Name "7zip" -Source Chocolatey。
  4. 驗證:7z 指令可用。

OneGet vs Chocolatey vs Winget vs Scoop

工具定位優點缺點
OneGet統一介面框架原生、支援多 Provider、企業部署友善指令冗長、Provider 品質參差
Chocolatey社群套件庫 (最大)套件極豐富、版本更新快、支援參數化安裝需額外安裝、社群維護品質不一
WingetMicrosoft 官方 CLI (新)原生、Store 整合、驗證簽名、JSON 設定套件數追趕中、僅 Win10 1709+
Scoop用戶級便攜式管理無需管理員、目錄隔離、適合開發工具鏈不支援系統級/驅動/服務安裝

現況與建議

  • Windows 10 1709+ 內建 winget (Windows Package Manager),為 Microsoft 主推方向,OneGet 進入維護模式。
  • 開發者/DevOps:優先使用 Winget (JSON 清單、CI/CD 友善) + Chocolatey (補足缺漏套件)。
  • 一般高階用戶:Scoop 管理開發工具 (Git, Node, Python, Go) + Winget 管理應用軟體。
  • 企業環境:OneGet + 內部 NuGet/Chocolatey 伺服器 + AppLocker/WDAC 鎖定版本。
Copyright © Windows教程網 All Rights Reserved