这篇文章写给谁看? ✍️
- 所有 Windows 用户,特别是:
- 经常需要安装、配置开发工具的开发者、程序员 🧑💻。
- 厌倦了每次重装系统都要手动下载、安装、点“下一步”的每一个人 😩。
- 希望电脑保持干净整洁,告别混乱的安装目录和注册表残留的效率追求者 ✨。
- 无论是电脑小白还是老司机,都能轻松上手!
预计阅读+实践时间: ⏱️ 30-60 分钟 (取决于你的网络速度和想安装的软件数量)
还记得吗?每次重装 Windows 系统后,那令人头秃的软件安装环节:打开浏览器,搜索、下载 JDK 、Node.js 、Python 、Git 、VS Code 、MySQL 、Redis... 每个软件都要经历“寻找官网 -> 下载 -> 双击安装包 -> 无脑点下一步(还得小心捆绑软件!) -> 配置环境变量”的漫长旅程。一套操作下来,半天时间就没了,耐心也耗尽了。更别提各种依赖冲突、环境变量配置错误、软件卸载不干净留下的系统“垃圾”... 简直是噩梦!😱
如果你对上述场景感同身受,那么恭喜你,找到了解放自己的钥匙!🔑 今天,我要向你隆重介绍一款 Windows 下的命令行包管理神器 —— Scoop。它就像一个专门为开发者和效率爱好者准备的“应用商店”,能让你用几行简单的命令,就闪电般地安装、更新、管理你需要的各种(尤其是命令行)工具和软件。从此,环境搭建不再是痛苦,而是几分钟就能搞定的轻松事!
看看我用 Scoop 配置好环境后的样子,是不是清爽又高效?👇
在开始之前,请确保你满足以下条件:
Win + X
,选择“Windows PowerShell”或“终端”),输入 $PSVersionTable.PSVersion
并回车,查看 Major
版本号是否 >= 5 。Scoop 本身就是一个需要被“安装”的工具。
打开 PowerShell:
Win + X
快捷键,在菜单中选择 “Windows PowerShell (管理员)” 或 “终端 (管理员)”。建议首次使用管理员权限,以确保后续步骤顺利。设置执行策略:
为了允许 PowerShell 运行像 Scoop 安装脚本这样的本地或远程签名的脚本,需要调整执行策略。输入以下命令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
按下回车。如果系统询问是否更改执行策略,输入 Y
并回车确认。
💡 小科普:
Set-ExecutionPolicy
: 这是设置 PowerShell 执行策略的命令。RemoteSigned
: 这是一种安全策略,允许运行本地创建的脚本,对于从网络下载的脚本,则要求它们具有可信发布者的数字签名。这比 Unrestricted
(允许所有脚本)更安全。-Scope CurrentUser
: 表示这个设置仅对当前登录的用户生效,通常不需要管理员权限(但首次设置可能需要确认),也更安全。执行安装命令:
接下来,粘贴并运行以下命令来下载并执行 Scoop 的官方安装脚本:
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
# 或者使用别名更简洁的版本 (iwr = Invoke-RestMethod, iex = Invoke-Expression)
# iwr -useb get.scoop.sh | iex
💡 小科普:
Invoke-RestMethod
(或 iwr
): 从指定的 URL (https://get.scoop.sh
) 下载内容(这里是安装脚本)。|
(管道符): 将前一个命令的输出(下载的脚本内容)传递给后一个命令。Invoke-Expression
(或 iex
): 执行接收到的字符串内容(也就是运行安装脚本)。网络问题提示: 如果这条命令因为网络问题(如无法连接 GitHub )失败,请参考文末的“常见问题解决”。
预期结果:
C:\Users\你的用户名\scoop
。(可选) 修改默认安装路径:
如果你不想把 Scoop 安装在 C 盘,或者想统一管理软件,可以在执行安装命令之前,先运行以下两条命令来指定路径(例如,安装到 D:\Apps\Scoop
):
# 1. 设置 Scoop 的安装目录环境变量
$env:SCOOP='D:\Apps\Scoop'
# 2. 将这个环境变量永久写入用户配置 (下次打开 PowerShell 依然有效)
[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
# 3. (可选) 设置全局安装路径 (如果需要全局安装软件)
# $env:SCOOP_GLOBAL='D:\GlobalApps'
# [Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine') # Machine 级别需要管理员权限
设置完路径后,再执行上面的第 3 步安装命令。
Scoop 使用 "Bucket"(桶)来管理软件包列表,每个 Bucket 就是一个 Git 仓库,里面包含了软件的安装信息(称为 Manifest ,清单文件)。默认只有 main
Bucket ,主要包含常用的命令行工具。我们需要添加更多 Buckets 来发现和安装更多软件。
验证 Scoop:
scoop help
并回车。如果看到 Scoop 的帮助信息和可用命令列表,说明 Scoop 已成功安装并可以工作了。添加常用 Bucket:
extras
Bucket 包含了大量流行的 GUI 软件和非 main
Bucket 的常用工具。强烈建议添加:
scoop bucket add extras
💡 提示: 添加 Bucket 需要从 GitHub 克隆仓库,如果网络慢请耐心等待。如果失败,检查网络或代理设置。
重要: Scoop 依赖 git
来管理 Buckets 。如果你的系统没有安装 git
,Scoop 在添加第一个 Bucket 时通常会提示并自动尝试安装。你也可以手动安装:scoop install git
。
添加其他常用 Buckets (可选):
scoop bucket add java
scoop bucket add nerd-fonts
scoop bucket add versions
scoop bucket add nonportable
(安装里面的软件可能需要管理员权限)注意事项:
激动人心的时刻到了!现在你可以像逛超市一样,用简单的命令安装软件了。
搜索软件:
不确定软件是否在已添加的 Buckets 里?用 search
命令!
scoop search <你想搜索的软件名或关键词>
# 例如: 搜索 python 相关
scoop search python
Scoop 会列出匹配的软件包及其所在的 Bucket 。
更方便的搜索: 你也可以直接访问 Scoop 的官方网站 https://scoop.sh/,它提供了一个图形化的搜索界面。注意取消勾选页面上的 "main" 筛选器可以搜索到 extras
等其他 Bucket 中的包。
安装单个软件:
找到你需要的软件名后,使用 install
命令安装。
# 安装 OpenJDK (来自 java bucket)
scoop install openjdk
# 安装 Git (来自 main bucket)
scoop install git
# 安装 7zip (来自 main bucket)
scoop install 7zip
# 安装 VS Code (来自 extras bucket)
scoop install vscode
一次安装多个软件:
提高效率,一次性安装多个!用空格隔开软件名即可。
scoop install nodejs python mysql nginx putty everything powertoys
(可选) 全局安装:
默认情况下,Scoop 安装的软件只对当前用户可用,并且安装在用户目录下的 scoop
文件夹中(如 C:\Users\你的用户名\scoop\apps
)。这通常不需要管理员权限,也更干净、便携。
如果你希望软件对系统上的所有用户都可用,可以使用 -g
或 --global
参数。这需要管理员权限运行 PowerShell ,并且软件会被安装到全局路径(默认为 C:\ProgramData\scoop
,或你通过 $env:SCOOP_GLOBAL
指定的路径)。
# 全局安装 OpenJDK (需要管理员权限运行 PowerShell)
scoop install openjdk --global
💡 建议: 除非你明确知道需要全局安装,否则优先使用默认的用户模式安装,这更能体现 Scoop 的优势。
预期结果:
PATH
中。安装完成后,你通常可以直接在新的 PowerShell 或 CMD 窗口中使用该软件的命令。openjdk
后,打开一个新的 PowerShell 窗口,输入 java -version
,应该能看到 Java 的版本信息。💡 Scoop 的魔法:Shim 是什么?
PATH
环境变量。它怎么做到的?答案是 "Shim" (垫片)。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" 文件夹存放快捷方式。安装只是开始,Scoop 还能帮你轻松管理已安装的软件。
检查更新:
想知道哪些软件有新版本了?
# 检查 Scoop 自身和所有 Buckets 的更新,并列出可更新的软件
scoop status
# 或者直接更新 Scoop 自身和 Buckets 的信息
scoop update
scoop update
首先会更新 Scoop 自身和所有已添加的 Bucket (相当于对每个 Bucket 的 Git 仓库执行 git pull
),获取最新的软件包清单。
更新所有软件:
一键更新所有已安装且有新版本的软件:
scoop update *
更新指定软件:
只想更新某个特定的软件?
scoop update <软件名>
# 例如: 更新 nodejs
scoop update nodejs
查看已安装列表:
想看看自己都装了些什么?
scoop list
卸载软件:
不再需要某个软件了?干干净净地移除它!
scoop uninstall <软件名>
# 例如: 卸载 mysql
scoop uninstall mysql
Scoop 会删除软件文件和对应的 shim/快捷方式,非常彻底。
查看软件信息:
想了解某个已安装或可用软件的详细信息(版本、来源、依赖等)?
scoop info <软件名>
# 例如: 查看 git 的信息
scoop info git
回退到旧版本:
更新后发现新版本有 Bug ?可以尝试回退。
# 先查看可用版本
scoop info <软件名>
# 回退到指定版本 (例如回退 git 到 2.30.0.windows.1)
scoop reset <软件名>@<版本号>
scoop reset git@2.30.0.windows.1
其他常用命令:
scoop cleanup *
: 清理所有软件的旧版本,释放磁盘空间。scoop cache rm *
: 清除下载缓存。scoop home <软件名>
: 在浏览器中打开软件的官方主页。scoop which <命令名>
: 显示某个命令对应的可执行文件的实际路径 (类似 Linux 的 which
)。原因分析:
解决方案:
检查网络: 确保你的基本网络连接是通的。
配置代理: 如果你有可用的 HTTP 代理,可以为 Scoop 单独设置:
# 设置代理 (将 'http://代理服务器地址:端口' 替换为你的实际代理)
scoop config proxy http://代理服务器地址:端口
# 查看当前代理设置
scoop config proxy
# 取消代理
scoop config proxy none
注意:这只为 Scoop 设置代理,不影响系统其他应用。
使用网络加速工具: 尝试使用 Watt Toolkit (原 Steam++) 或其他类似工具进行 GitHub 加速。
手动下载安装脚本:
https://get.scoop.sh
。install.ps1
的文件(例如保存在桌面)。cd ~/Desktop
),然后运行:.\install.ps1
(注意前面的 .\
)。如果之前修改了安装路径的环境变量,这里也需要先设置好。更换 DNS: 尝试将系统的 DNS 服务器更换为更可靠的公共 DNS ,如 1.1.1.1
(Cloudflare) 或 8.8.8.8
(Google)。
~/scoop/shims
目录没有被正确添加到系统的 PATH 环境变量中。$env:Path
查看当前 PATH 。确认其中是否包含类似 C:\Users\你的用户名\scoop\shims
的路径。scoop fix path
看是否能自动修复。Path
-> 编辑 -> 新建 -> 添加 C:\Users\你的用户名\scoop\shims
(请替换为你的实际路径) -> 一路确定。然后重启终端。scoop list
确认软件是否真的安装成功了。scoop which <命令名>
看看是否能找到对应的 shim 文件。Set-ExecutionPolicy
时出错或无效?LocalMachine
范围时)。-Scope CurrentUser
。更改 LocalMachine
作用域通常需要更高的权限,并且会影响所有用户。Get-ExecutionPolicy -List
查看各作用域的设置。CurrentUser
通常能覆盖 LocalMachine
(除非有策略限制)。C:\Users\你的用户名\scoop
或你自定义的路径) 添加到信任区域或排除列表。创建自己的 Bucket:
一键重装脚本:
将你所有需要安装的常用软件整理到一个 PowerShell 脚本文件中(例如 setup-my-env.ps1
):
# setup-my-env.ps1
# 添加需要的 Buckets
scoop bucket add extras
scoop bucket add java
scoop bucket add nerd-fonts
# 安装常用工具
scoop install git python nodejs openjdk maven gradle vscode 7zip everything powertoys curl wget grep sed bandizip # ... 添加你需要的其他软件
# 清理旧版本
scoop cleanup *
Write-Host "环境配置完成!"
每次重装系统后,只需运行 Scoop 安装命令,然后执行这个脚本 .\setup-my-env.ps1
,即可快速恢复你的开发环境!
极致便携性:
~/scoop
目录下。这意味着,理论上你可以将整个 scoop
文件夹复制到另一台电脑的相同用户目录下(或者通过环境变量指定路径),然后简单运行一些 Scoop 命令(如 scoop reset *
或 scoop fix path
)来修复路径和 shim ,就能在新电脑上获得几乎一致的环境!与其他包管理器的比较 (简单):
恭喜你!通过这篇(希望是)生动有趣的教程,你已经掌握了使用 Scoop 在 Windows 上高效、整洁地管理软件的秘诀。Scoop 以其简洁的命令行操作、出色的便携性、对系统环境的“零污染”以及强大的脚本能力,正成为越来越多 Windows 用户(尤其是开发者)的装机必备神器。
从现在开始,忘掉那些繁琐的手动下载、安装、配置吧!让 Scoop 成为你得力的助手,把宝贵的时间投入到真正重要的事情上——无论是编码、创作,还是享受生活。
💬 交流时间!
你觉得 Scoop 怎么样?在你的使用过程中,遇到了哪些有趣的问题或独到的技巧?你最喜欢用 Scoop 安装哪些软件?欢迎在评论区分享你的经验和看法,或者提出你的疑问。让我们一起交流,让 Windows 环境配置变得前所未有的简单和愉快!
如果觉得这篇文章对你有帮助,别忘了点赞、收藏,并分享给你身边还在被软件安装折磨的朋友们! 😉
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.