重装电脑神器——Scoop管理软件

[up主专用,视频内嵌代码贴在这]

重装电脑用Scoop管理软件,清爽多了!

这篇文章写给谁看? ✍️

  • 所有 Windows 用户,特别是:
    • 经常需要安装、配置开发工具的开发者、程序员 🧑‍💻。
    • 厌倦了每次重装系统都要手动下载、安装、点“下一步”的每一个人 😩。
    • 希望电脑保持干净整洁,告别混乱的安装目录和注册表残留的效率追求者 ✨。
    • 无论是电脑小白还是老司机,都能轻松上手!

预计阅读+实践时间: ⏱️ 30-60 分钟 (取决于你的网络速度和想安装的软件数量)

😫 前言:你是否也曾被 Windows 软件安装折磨?

  还记得吗?每次重装 Windows 系统后,那令人头秃的软件安装环节:打开浏览器,搜索、下载 JDK、Node.js、Python、Git、VS Code、MySQL、Redis... 每个软件都要经历“寻找官网 -> 下载 -> 双击安装包 -> 无脑点下一步(还得小心捆绑软件!) -> 配置环境变量”的漫长旅程。一套操作下来,半天时间就没了,耐心也耗尽了。更别提各种依赖冲突、环境变量配置错误、软件卸载不干净留下的系统“垃圾”... 简直是噩梦!😱

  如果你对上述场景感同身受,那么恭喜你,找到了解放自己的钥匙!🔑 今天,我要向你隆重介绍一款 Windows 下的命令行包管理神器 —— Scoop。它就像一个专门为开发者和效率爱好者准备的“应用商店”,能让你用几行简单的命令,就闪电般地安装、更新、管理你需要的各种(尤其是命令行)工具和软件。从此,环境搭建不再是痛苦,而是几分钟就能搞定的轻松事!

  看看我用 Scoop 配置好环境后的样子,是不是清爽又高效?👇

image-20250414203759163

🛠️ 准备工作:磨刀不误砍柴工

  在开始之前,请确保你满足以下条件:

  • 操作系统: Windows 10 或 Windows 11(Windows 7 SP1+ 理论上也支持,但更推荐新版本)。
  • PowerShell: 版本 5.1 或更高版本。Windows 10/11 通常自带。
    • 检查方法:打开 PowerShell(按 Win + X,选择“Windows PowerShell”或“终端”),输入 $PSVersionTable.PSVersion 并回车,查看 Major 版本号是否 >= 5。
  • .NET Framework: 4.5 或更高版本 (通常新版 Windows 已满足)。
  • 网络连接: 稳定且能访问 GitHub (Scoop 的核心依赖)。
  • 管理员权限: 虽然 Scoop 的核心理念是非管理员权限安装,但在首次设置 PowerShell 执行策略或进行全局安装时可能需要。建议首次操作时,以管理员身份运行 PowerShell。
  • 基本命令行知识: 别担心!如果你是新手,只需跟着步骤复制粘贴命令即可。我会解释每一步的作用。
  • 网络环境: 全程代理网络。如果你在国内网络环境下遇到困难(如下载慢、连接失败),可能需要配置代理或使用其他网络优化方法。文末会提供一些解决方案思路。

🚀 核心步骤:开始你的 Scoop 之旅!

步骤一:安装 Scoop 本体 - 神器的第一步

  Scoop 本身就是一个需要被“安装”的工具。

  1. 打开 PowerShell:

    • 按下 Win + X 快捷键,在菜单中选择 “Windows PowerShell (管理员)” 或 “终端 (管理员)”。建议首次使用管理员权限,以确保后续步骤顺利。
  2. 设置执行策略:

    • 为了允许 PowerShell 运行像 Scoop 安装脚本这样的本地或远程签名的脚本,需要调整执行策略。输入以下命令:

      Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
      
    • 按下回车。如果系统询问是否更改执行策略,输入 Y 并回车确认。

    • 💡 小科普:

      • Set-ExecutionPolicy: 这是设置 PowerShell 执行策略的命令。
      • RemoteSigned: 这是一种安全策略,允许运行本地创建的脚本,对于从网络下载的脚本,则要求它们具有可信发布者的数字签名。这比 Unrestricted(允许所有脚本)更安全。
      • -Scope CurrentUser: 表示这个设置仅对当前登录的用户生效,通常不需要管理员权限(但首次设置可能需要确认),也更安全。
  3. 执行安装命令:

    • 接下来,粘贴并运行以下命令来下载并执行 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)失败,请参考文末的“常见问题解决”。

  4. 预期结果:

    • 等待脚本执行完毕。如果一切顺利,你会在 PowerShell 窗口看到类似 "Scoop was installed successfully!" 的成功信息。
    • 默认情况下,Scoop 会安装在你的用户目录下:C:\Users\你的用户名\scoop
  5. (可选) 修改默认安装路径:

    • 如果你不想把 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 步安装命令

步骤二:验证安装与添加软件仓库 (Bucket)

  Scoop 使用 "Bucket"(桶)来管理软件包列表,每个 Bucket 就是一个 Git 仓库,里面包含了软件的安装信息(称为 Manifest,清单文件)。默认只有 main Bucket,主要包含常用的命令行工具。我们需要添加更多 Buckets 来发现和安装更多软件。

  1. 验证 Scoop:

    • 在 PowerShell 中输入 scoop help 并回车。如果看到 Scoop 的帮助信息和可用命令列表,说明 Scoop 已成功安装并可以工作了。
    • image-20250414203108494
  2. 添加常用 Bucket:

    • extras Bucket 包含了大量流行的 GUI 软件和非 main Bucket 的常用工具。强烈建议添加:

      scoop bucket add extras
      
    • 💡 提示: 添加 Bucket 需要从 GitHub 克隆仓库,如果网络慢请耐心等待。如果失败,检查网络或代理设置。

    • 重要: Scoop 依赖 git 来管理 Buckets。如果你的系统没有安装 git,Scoop 在添加第一个 Bucket 时通常会提示并自动尝试安装。你也可以手动安装:scoop install git

  3. 添加其他常用 Buckets (可选):

    • 根据你的需要,可以添加更多社区维护的 Buckets。例如:
      • 安装各种 Java 版本:scoop bucket add java
      • 安装 Nerd Fonts (美化终端字体):scoop bucket add nerd-fonts
      • 安装特定旧版本的软件:scoop bucket add versions
      • 安装非便携应用 (需要特殊处理):scoop bucket add nonportable (安装里面的软件可能需要管理员权限)
    • 去哪里找更多 Buckets?
  4. 注意事项:

    • 添加 Bucket 时需要良好的网络连接。
    • 如果命令出错,请检查 Bucket 名称是否拼写正确。
    • 有时网络波动会导致添加失败,重试一次可能就好了。
步骤三:用 Scoop 安装你的常用软件

  激动人心的时刻到了!现在你可以像逛超市一样,用简单的命令安装软件了。

  1. 搜索软件:

    • 不确定软件是否在已添加的 Buckets 里?用 search 命令!

      scoop search <你想搜索的软件名或关键词>
      # 例如: 搜索 python 相关
      scoop search python
      
    • Scoop 会列出匹配的软件包及其所在的 Bucket。

    • 更方便的搜索: 你也可以直接访问 Scoop 的官方网站 https://scoop.sh/,它提供了一个图形化的搜索界面。注意取消勾选页面上的 "main" 筛选器可以搜索到 extras 等其他 Bucket 中的包。

    • image-20250414203635310

  2. 安装单个软件:

    • 找到你需要的软件名后,使用 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
      
  3. 一次安装多个软件:

    • 提高效率,一次性安装多个!用空格隔开软件名即可。

      scoop install nodejs python mysql nginx putty everything powertoys
      
  4. (可选) 全局安装:

    • 默认情况下,Scoop 安装的软件只对当前用户可用,并且安装在用户目录下的 scoop 文件夹中(如 C:\Users\你的用户名\scoop\apps)。这通常不需要管理员权限,也更干净、便携。

    • 如果你希望软件对系统上的所有用户都可用,可以使用 -g--global 参数。这需要管理员权限运行 PowerShell,并且软件会被安装到全局路径(默认为 C:\ProgramData\scoop,或你通过 $env:SCOOP_GLOBAL 指定的路径)。

      # 全局安装 OpenJDK (需要管理员权限运行 PowerShell)
      scoop install openjdk --global
      
    • 💡 建议: 除非你明确知道需要全局安装,否则优先使用默认的用户模式安装,这更能体现 Scoop 的优势。

  5. 预期结果:

    • Scoop 会自动下载软件包、解压、处理依赖,并将可执行文件通过 "shim" 机制添加到你的 PATH 中。安装完成后,你通常可以直接在新的 PowerShell 或 CMD 窗口中使用该软件的命令。
    • 例如,安装 openjdk 后,打开一个新的 PowerShell 窗口,输入 java -version,应该能看到 Java 的版本信息。
  6. 💡 Scoop 的魔法:Shim 是什么?

    • Scoop 的一个核心优势是不污染系统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 还能帮你轻松管理已安装的软件。

image-20250416113254357

  1. 检查更新:

    • 想知道哪些软件有新版本了?

      # 检查 Scoop 自身和所有 Buckets 的更新,并列出可更新的软件
      scoop status
      # 或者直接更新 Scoop 自身和 Buckets 的信息
      scoop update
      
    • scoop update 首先会更新 Scoop 自身和所有已添加的 Bucket(相当于对每个 Bucket 的 Git 仓库执行 git pull),获取最新的软件包清单。

  2. 更新所有软件:

    • 一键更新所有已安装且有新版本的软件:

      scoop update *
      
  3. 更新指定软件:

    • 只想更新某个特定的软件?

      scoop update <软件名>
      # 例如: 更新 nodejs
      scoop update nodejs
      
  4. 查看已安装列表:

    • 想看看自己都装了些什么?

      scoop list
      
  5. 卸载软件:

    • 不再需要某个软件了?干干净净地移除它!

      scoop uninstall <软件名>
      # 例如: 卸载 mysql
      scoop uninstall mysql
      
    • Scoop 会删除软件文件和对应的 shim/快捷方式,非常彻底。

  6. 查看软件信息:

    • 想了解某个已安装或可用软件的详细信息(版本、来源、依赖等)?

      scoop info <软件名>
      # 例如: 查看 git 的信息
      scoop info git
      
  7. 回退到旧版本:

    • 更新后发现新版本有 Bug?可以尝试回退。

      # 先查看可用版本
      scoop info <软件名>
      # 回退到指定版本 (例如回退 git 到 2.30.0.windows.1)
      scoop reset <软件名>@<版本号>
      scoop reset [email protected]
      
  8. 其他常用命令:

    • scoop cleanup * : 清理所有软件的旧版本,释放磁盘空间。
    • scoop cache rm * : 清除下载缓存。
    • scoop home <软件名> : 在浏览器中打开软件的官方主页。
    • scoop which <命令名> : 显示某个命令对应的可执行文件的实际路径 (类似 Linux 的 which)。

🤔 常见问题解决 (FAQ)

问题 1:Scoop 安装或添加 Bucket 时提示网络错误/超时?
  • 原因分析:

    • 国内访问 GitHub 网络不稳定。
    • 公司或学校网络限制。
    • 系统代理设置未被 PowerShell 正确识别。
  • 解决方案:

    1. 检查网络: 确保你的基本网络连接是通的。

    2. 配置代理: 如果你有可用的 HTTP 代理,可以为 Scoop 单独设置:

      # 设置代理 (将 'http://代理服务器地址:端口' 替换为你的实际代理)
      scoop config proxy http://代理服务器地址:端口
      # 查看当前代理设置
      scoop config proxy
      # 取消代理
      scoop config proxy none
      

      注意:这只为 Scoop 设置代理,不影响系统其他应用。

    3. 使用网络加速工具: 尝试使用 Watt Toolkit (原 Steam++) 或其他类似工具进行 GitHub 加速。

    4. 手动下载安装脚本:

      • 在浏览器中访问 https://get.scoop.sh
      • 将页面内容完整复制并保存为一个名为 install.ps1 的文件(例如保存在桌面)。
      • 在 PowerShell 中,切换到该文件所在的目录(例如 cd ~/Desktop),然后运行:.\install.ps1 (注意前面的 .\)。如果之前修改了安装路径的环境变量,这里也需要先设置好。
    5. 更换 DNS: 尝试将系统的 DNS 服务器更换为更可靠的公共 DNS,如 1.1.1.1 (Cloudflare) 或 8.8.8.8 (Google)。

问题 2:安装软件后,在命令行中输入命令提示“不是内部或外部命令”?
  • 原因分析:
    • ~/scoop/shims 目录没有被正确添加到系统的 PATH 环境变量中。
    • 你没有重新打开一个新的 PowerShell 或 CMD 窗口(环境变量更改通常需要新会话才能生效)。
    • 安装的是 GUI 程序,它可能没有提供命令行接口。
    • 极少数情况下,shim 创建失败。
  • 解决方案:
    1. 重启终端: 最常见的原因! 关闭当前的 PowerShell/CMD 窗口,然后重新打开一个新的窗口再试。
    2. 检查 PATH 环境变量:
      • 在 PowerShell 中输入 $env:Path 查看当前 PATH。确认其中是否包含类似 C:\Users\你的用户名\scoop\shims 的路径。
      • 如果没有,尝试运行 scoop fix path 看是否能自动修复。
      • 如果还不行,可能需要手动添加:右键“此电脑” -> 属性 -> 高级系统设置 -> 环境变量 -> 在“用户变量”或“系统变量”中找到 Path -> 编辑 -> 新建 -> 添加 C:\Users\你的用户名\scoop\shims (请替换为你的实际路径) -> 一路确定。然后重启终端
    3. 确认安装: 使用 scoop list 确认软件是否真的安装成功了。
    4. 检查软件类型: 确认你安装的是命令行工具还是纯 GUI 应用。GUI 应用通常通过开始菜单的 "Scoop Apps" 文件夹启动。
    5. 检查 Shim: 使用 scoop which <命令名> 看看是否能找到对应的 shim 文件。
问题 3:执行 Set-ExecutionPolicy 时出错或无效?
  • 原因分析:
    • 权限不足 (尤其是在尝试更改 LocalMachine 范围时)。
    • 组策略限制 (在企业环境中常见)。
  • 解决方案:
    1. 使用管理员权限: 确保你是以管理员身份运行 PowerShell。
    2. 检查作用域: 确认你使用的是 -Scope CurrentUser。更改 LocalMachine 作用域通常需要更高的权限,并且会影响所有用户。
    3. 检查组策略: 如果你在公司电脑上,可能需要联系 IT 管理员,确认是否有组策略限制了执行策略的更改。
    4. 了解策略级别: PowerShell 执行策略有多个作用域(MachinePolicy, UserPolicy, Process, CurrentUser, LocalMachine),它们有优先级。可以使用 Get-ExecutionPolicy -List 查看各作用域的设置。CurrentUser 通常能覆盖 LocalMachine (除非有策略限制)。
问题 4:杀毒软件报警或阻止 Scoop/软件安装?
  • 原因分析: Scoop 的工作方式(下载、解压、创建 shim)有时会被某些敏感的杀毒软件误判为可疑行为。
  • 解决方案:
    1. 添加排除项: 在你的杀毒软件设置中,将 Scoop 的安装目录 (C:\Users\你的用户名\scoop 或你自定义的路径) 添加到信任区域或排除列表。
    2. 临时禁用: 在安装特定软件时,可以考虑临时禁用杀毒软件的实时防护,安装完成后再开启(请确保你信任要安装的软件来源!)。

💡 进阶技巧:让 Scoop 更得心应手

  1. 创建自己的 Bucket:

    • 如果你有一些内部工具或者 Scoop 官方/社区没有收录的软件,可以创建自己的 Git 仓库作为 Bucket,编写 JSON 格式的 Manifest 文件来描述如何安装它们。这对于团队共享工具配置非常有用。学习如何编写 Manifest: Scoop Wiki
  2. 一键重装脚本:

    • 将你所有需要安装的常用软件整理到一个 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,即可快速恢复你的开发环境!

  3. 极致便携性:

    • Scoop 的一大魅力在于其便携性。默认情况下,所有软件都安装在 ~/scoop 目录下。这意味着,理论上你可以将整个 scoop 文件夹复制到另一台电脑的相同用户目录下(或者通过环境变量指定路径),然后简单运行一些 Scoop 命令(如 scoop reset *scoop fix path)来修复路径和 shim,就能在新电脑上获得几乎一致的环境!
  4. 与其他包管理器的比较 (简单):

    • Scoop: 默认用户级安装、无需管理员权限、干净不污染 PATH、主要面向开发者和命令行工具、便携性好、仓库相对 Chocolatey 较小。
    • Chocolatey (Choco): 历史悠久、软件包仓库非常庞大 (覆盖面广)、通常需要管理员权限、安装方式更接近传统 Windows 安装(可能安装到 Program Files)、有付费版提供高级功能。
    • Winget: 微软官方出品、内置于新版 Windows、可以管理来自 Microsoft Store 和其社区仓库的应用、更新机制有时能同步非 Winget 安装的应用、更偏向通用软件管理。
    • 可以共存吗? 可以!很多人会同时使用它们,根据软件可用性和个人偏好选择。例如,用 Scoop 管理开发工具,用 Winget 或 Chocolatey 管理大型 GUI 应用。

🎉 总结:拥抱 Scoop,告别繁琐!

  恭喜你!通过这篇(希望是)生动有趣的教程,你已经掌握了使用 Scoop 在 Windows 上高效、整洁地管理软件的秘诀。Scoop 以其简洁的命令行操作、出色的便携性、对系统环境的“零污染”以及强大的脚本能力,正成为越来越多 Windows 用户(尤其是开发者)的装机必备神器。

  从现在开始,忘掉那些繁琐的手动下载、安装、配置吧!让 Scoop 成为你得力的助手,把宝贵的时间投入到真正重要的事情上——无论是编码、创作,还是享受生活。


💬 交流时间!

  你觉得 Scoop 怎么样?在你的使用过程中,遇到了哪些有趣的问题或独到的技巧?你最喜欢用 Scoop 安装哪些软件?欢迎在评论区分享你的经验和看法,或者提出你的疑问。让我们一起交流,让 Windows 环境配置变得前所未有的简单和愉快!

  如果觉得这篇文章对你有帮助,别忘了点赞、收藏,并分享给你身边还在被软件安装折磨的朋友们! 😉