← [ BACK_TO_NOTES ]

更改Scoop默认安装位置

区分 Scoop 新安装目录配置与现有安装迁移,保留清单、数据及路径验证和恢复边界。

#howto #evergreen #ops #windows #cli

更改 Scoop 默认安装位置

把安装根目录设到其他盘符,与把现有应用完整迁移到新系统,是两件事。修改 SCOOP 或 PATH 不会自动修复所有 shim、快捷方式、注册表项与应用配置。

[!info] related notes

新安装:先指定根目录

以下是 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 目录迁移。

创建于 2025/12/24 更新于 2026/10/6
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本