更改Scoop默认安装位置
区分 Scoop 新安装目录配置与现有安装迁移,保留清单、数据及路径验证和恢复边界。
更改 Scoop 默认安装位置
把安装根目录设到其他盘符,与把现有应用完整迁移到新系统,是两件事。修改 SCOOP 或 PATH 不会自动修复所有 shim、快捷方式、注册表项与应用配置。
[!info] related notes
- Scoop:命令语义与 JSON 清单恢复。
- 使用 Scoop 安装 Node
- 使用 Scoop 安装 Java
新安装:先指定根目录
以下是 Windows PowerShell 示例;目标目录应是计划用于新安装的目录。
$env:SCOOP = 'D:\Scoop'
[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
全局应用目录单独由 SCOOP_GLOBAL 控制;只有需要全局安装时再配置,Machine 级环境变量写入与全局安装需要相应权限。安装器还支持 -ScoopDir 与 -ScoopGlobalDir,见官方安装说明。
已安装或重装系统:先保留可恢复状态
迁移前导出 scoopfile.json,另行备份持久化数据、应用在 Scoop 外写入的配置,以及 ~\.config\scoop\config.json。导出清单本身不包含这些应用数据。
优先在目标根目录建立可用的 Scoop 安装后按清单恢复,再验证应用与数据。原目录应保留到验证完成;不要直接移动目录后就宣告迁移成功。
旧笔记的原地移动方法还需要逐项处理:
- 用户与全局根目录,以及对应 PATH 中的
shims。 current目录链接、shim 的绝对路径与快捷方式。- 应用 manifest 的持久化目录与安装后步骤。
- 右键菜单、文件关联、服务等系统集成。
scoop reset app 可以重建该应用的链接和命令入口,但不能保证恢复一切系统集成。若原地迁移后的 Scoop 已无法启动,应先恢复原路径与环境,再选择清单重建,避免继续覆盖原数据。
验证实际使用路径
在新开的 PowerShell 会话中检查:
$env:SCOOP
$env:SCOOP_GLOBAL
Get-Command scoop | Select-Object Source
$env:PATH -split ';' | Where-Object { $_ -match 'scoop' }
scoop list
scoop checkup
scoop prefix 7zip # 仅当已安装 7zip 时
scoop config root 不是正确的配置键;root_path 也只反映配置项,可能未设置或被环境变量覆盖。判断实际位置应结合命令来源和 scoop prefix <已安装应用>,并确认不存在旧 shim 抢先匹配。
逐个启动需要保留的应用,检查配置与文件关联。仅 scoop list 正常不能证明应用数据已经恢复。恢复失败时保留新旧目录,回到原环境继续工作,再定位具体应用的问题。
依据与范围
2026-10-06 对照 Install README、根目录解析、reset 与 prefix。本轮在 Linux 上核对文档与源码,未执行 Windows 目录迁移。