type
Post
status
Published
date
Apr 6, 2026
slug
summary
记录一下win包管理介绍和scoop安装软件过程
tags
工具
安全
category
软件
icon
password
AI总结
本文介绍了 Windows 平台三大主流命令行包管理器——Scoop、Winget 与 Chocolatey 的核心特性、适用场景及对比分析,重点围绕专为开发者设计的 Scoop 展开详细实践指南。内容涵盖 Scoop 的轻量级用户级安装理念、shim 机制实现的环境隔离与多版本共存优势、Bucket 扩展软件源的灵活用法,以及从安装配置(含自定义目录与代理设置)、常用软件安装、版本管理到日常维护的完整操作流程,帮助开发者在 Windows 上高效搭建干净、可移植且易于管理的开发环境。
English Version
This article introduces the three mainstream command-line package managers for Windows—Scoop, Winget, and Chocolatey—comparing their core features, ideal use cases, and key differences, with a focused practical guide on Scoop, designed specifically for developers. It covers Scoop's lightweight user-level installation philosophy, the environment isolation and multi-version coexistence enabled by its shim mechanism, the flexibility of extending software sources via Buckets, and a complete workflow from installation and configuration (including custom directories and proxy setup) to installing common tools, managing versions, and daily maintenance, empowering developers to efficiently build clean, portable, and easily manageable development environments on Windows.
一,包管理器介绍与对比
Windows 平台主要有三大主流命令行包管理器:Scoop、Winget 和 Chocolatey。它们旨在通过自动化命令简化了软件的安装、更新和管理流程,但设计理念和适用场景各有侧重。
1,Scoop
Scoop 是一款开源的、轻量级命令行包管理器,其设计理念深受 macOS 的 Homebrew 启发。它专为追求干净、隔离、可移植环境的开发者打造。
- 核心特点:
- 用户级安装:默认将软件安装在用户目录(如
C:\Users\<用户名>\scoop\apps),无需管理员权限,不污染系统目录和注册表。 - 便携与隔离:安装的软件多为“绿色版”,通过 shim(垫片) 机制管理,将可执行文件链接到统一的
shims目录,避免环境变量冲突。 - 多版本共存:支持同一软件的多个版本并行安装,并通过
scoop reset命令快速切换,非常适合需要测试不同版本工具链的开发场景。 - 灵活的 Bucket 机制:软件源称为“Bucket”,默认的
main桶收录严格,但可通过添加extras、java、versions等官方或第三方桶来扩展软件库。
- 安装与常用命令
- 在 PowerShell 中执行以下命令安装(需先设置执行策略):你可以在安装前通过设置环境变量
SCOOP来更改安装目录。 Invoke-RestMethod(或iwr): 从指定的 URL (https://get.scoop.sh) 下载内容(这里是安装脚本)。|(管道符): 将前一个命令的输出(下载的脚本内容)传递给后一个命令。Invoke-Expression(或iex): 执行接收到的字符串内容(也就是运行安装脚本)- 常用命令:
2,Winget
Winget(Windows Package Manager)是微软官方推出的包管理器,已预装在 Windows 10(1709及以上)和 Windows 11 系统中。它侧重于安全性、易用性和与系统的深度集成。
- 核心特点:
- 官方与集成:作为系统组件,与 Windows Terminal、Microsoft Store 等深度集成,提供原生体验。
- 来源广泛:软件包来自微软审核的社区存储库和 Microsoft Store,来源相对可信。
- 操作便捷:命令简洁,适合希望用一行命令安全安装主流应用的普通用户。
- 持续进化:作为官方项目,其功能和软件库正在快速完善。
- 安装与常用命令
- 安装请参考:使用 WinGet 安装和管理应用程序 | Microsoft Learn,或者可以直接访问微软商店链接点击直接进行下载安装。
- 常用命令
3,Chocolatey
Chocolatey 是 Windows 上历史最悠久、生态最庞大的第三方包管理器之一,被誉为“Windows 上的 apt-get”。它功能全面,尤其适合需要批量部署和自动化管理的企业环境。
- 核心特点:
- 软件库最丰富:社区维护的软件包数量超过9000个,覆盖从开发工具到日常应用的广泛领域。
- 强大的自动化能力:支持复杂的安装脚本、依赖管理和与配置管理工具(如 Puppet、Chef)集成,是系统管理员的利器。
- 需要管理员权限:默认以系统级权限运行,适合需要集中管控的场景。
- 学习曲线较陡:功能强大也意味着命令和选项更多,对新手可能有一定门槛。
- 安装与常用命令
- 以管理员身份打开 PowerShell,执行以下命令安装
- 常用命令
4,总结与对比
为了更直观地对比三者的核心差异,请参考下表:
特性维度 | Scoop | Winget | Chocolatey |
维护方 | 开源社区 | 微软官方 | 第三方企业 |
安装权限 | 无需管理员权限 | 通常需要管理员权限 | 需要管理员权限 |
安装路径 | 用户目录(可自定义) | 系统标准路径(如 Program Files) | 系统目录(如 ProgramData) |
软件覆盖 | 开发工具、CLI工具为主,需添加桶 | 主流开发工具和系统应用,数量有限 | 软件包数量最丰富,覆盖商业与开源工具 |
核心优势 | 便携隔离、多版本共存、环境干净 | 官方支持、安全可靠、与系统集成度高 | 功能强大、自动化部署能力强、企业级支持 |
主要局限 | 国内网络访问GitHub慢,需配置代理 | 软件库有限,新软件收录可能较慢 | 学习曲线较陡,免费版功能有限 |
最佳适用场景 | 开发者搭建与管理个人开发环境 | 普通用户安全便捷地安装日常软件 | 企业IT批量部署与自动化管理软件 |
- Chocolatey 适合需要广泛软件支持和企业级功能的用户,尤其是那些需要自动化部署和管理的环境。
- Scoop 更适合追求轻量级、快速安装和个人使用的场景。
- winget 则是一个官方支持的选项,适合那些希望获得最新功能和安全保障的用户
二,Scoop安装与管理
1,Scoop安装
- 打开 PowerShell:
按下
Win + X 快捷键,在菜单中选择 “Windows PowerShell (管理员)” 或 “终端 (管理员)”。建议首次使用管理员权限,以确保后续步骤顺利。- 设置执行策略:
Set-ExecutionPolicy: 这是设置 PowerShell 执行策略的命令。RemoteSigned: 这是一种安全策略,允许运行本地创建的脚本,对于从网络下载的脚本,则要求它们具有可信发布者的数字签名。这比Unrestricted(允许所有脚本)更安全。Scope CurrentUser: 表示这个设置仅对当前登录的用户生效,通常不需要管理员权限(但首次设置可能需要确认),也更安全。
为了允许 PowerShell 运行像 Scoop 安装脚本这样的本地或远程签名的脚本,需要调整执行策略。输入以下命令:
- (可选)自定义安装目录
如果不想把 Scoop 安装在 C 盘,或者想统一管理软件,可以在执行安装命令之前,先运行以下两条命令来指定路径
- 执行安装命令:
Invoke-RestMethod(或iwr): 从指定的 URL (https://get.scoop.sh) 下载内容(这里是安装脚本)。|(管道符): 将前一个命令的输出(下载的脚本内容)传递给后一个命令。Invoke-Expression(或iex): 执行接收到的字符串内容(也就是运行安装脚本)。
粘贴并运行以下命令来下载并执行 Scoop 的官方安装脚本,Scoop默认不允许以管理员模式安装,会出现
Running the installer as administrator is disabled by default, see https://github.com/ScoopInstaller/Install#for-admin for details. Abort. 的提示,如果必须使用管理员命令则需要添加额外参数,下下述两个可以二选一,本质一样。(1)自定义安装命令:
(2)一键安装命令
- 安装后验证配置
2,Scoop Bucket
bucket 就是 Scoop 中的软件仓库,Scoop 默认软件仓库(main bucket)软件数量是有限的,但是可以进行额外的添加。
- 通过
scoop bucket known命令可以查看官方认可的 bucket:
- 添加常用 Bucket:
Scoop 依赖
git 来管理 Buckets,如果你的系统没有安装 git,Scoop 在添加第一个 Bucket 时通常会提示并自动尝试安装。你也可以手动安装:scoop install git。由于
scoop bucket add 底层使用 git clone,而 Git 不会自动使用系统/Clash 的全局代理,需要单独配置,如果失败,需要设置git的代理。(1)为 Git 配置代理(推荐)
(2)可以同时配置 Scoop 代理
3,Scoop安装常用软件
- 搜索并安装软件:
用
search 命令搜索软件是否在已添加的 Buckets,或可以直接访问 Scoop 的官方网站 scoop.sh,它提供了一个图形化的搜索界面。注意取消勾选页面上的 “main” 筛选器可以搜索到 extras 等其他 Bucket 中的包,并用install进行安装:- (可选) 全局安装:
默认情况下,Scoop 安装的软件只对当前用户可用,并且安装在用户目录下的
scoop 文件夹中(如 C:\Users\你的用户名\scoop\apps)。这通常不需要管理员权限。但如果你希望软件对系统上的所有用户都可用,可以使用 -g 或 --global 参数。这需要管理员权限运行 PowerShell,并且软件会被安装到全局路径(默认为 C:\ProgramData\scoop,或通过 $env:SCOOP_GLOBAL 指定的路径)- 预期结果与Shim特性
Scoop 会自动下载软件包、解压、处理依赖,并将可执行文件通过 “shim” 机制添加到你的
PATH中。安装完成后,通常可以直接在新的 PowerShell 或 CMD 窗口中使用该软件的命令。例如,安装openjdk后,打开一个新的 PowerShell 窗口,输入java -version,应该能看到 Java 的版本信息。 Scoop 的一个核心优势是不污染系统的PATH环境变量。当你安装一个软件(比如git)后,Scoop 不会把git.exe所在的整个目录加到系统PATH。它只做一件事:在~/scoop/shims目录下(这个目录在安装 Scoop 时会被自动添加到用户PATH中)创建一个名为git.exe的极小的可执行文件 (shim)。
当运行
git 命令时,系统在 PATH 里找到了 ~/scoop/shims/git.exe。这个 shim 文件知道真正 git.exe 的位置(比如在 ~/scoop/apps/git/current/bin/git.exe),然后它会启动真正的 git.exe。这样做的好处是:
PATH 变量非常干净,只增加了一个 shims 目录。卸载软件时,只需删除对应的 shim 和软件目录,对系统几乎没有影响。对于 GUI 程序,Scoop 会在开始菜单创建一个 “Scoop Apps” 文件夹存放快捷方式。4,软件的更新与管理
- 软件更新:
scoop update 首先会更新 Scoop 自身和所有已添加的 Bucket(相当于对每个 Bucket 的 Git 仓库执行 git pull),获取最新的软件包清单。- 软件管理,更新与卸载:
- 使用
scoop config查看/修改设置
- 其他相关命令:
参考来源:重装电脑用Scoop管理软件,清爽多了!