Scoop 的设计与实现理念:
- 分离用户数据:默认将程序的 用户数据 存储到
persist
目录中,这样当用户日后升级该程序后,之前的用户配置依然可用。(但是对于部分程序支持的不是很完善) shim
软链接:自动在 Scoop 应用安装路径下的shims
文件夹下为新安装的程序添加对应的.exe
文件,而shims
文件夹提前就已被添加到PATH
环境变量中,所以程序一旦安装就可以直接在命令行中运行。- 对于 GUI 程序,Scoop 还会自动为其在开始菜单中添加快捷方式,路径:
%appdata%\Microsoft\Windows\Start Menu\Programs\Scoop Apps
对于配置文件目录
persist
,可以使用git
进行备份。其中软件的配置有云保存的可以用.gitignore
排除,比如discord
、vscode
Scoop 的安装:
set-executionpolicy remotesigned -scope currentuser
# 改变默认安装路径
$env:SCOOP='D:\Scoop'
[environment]::setEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
# 安装
iwr -useb get.scoop.sh | iex
初次安装之后我们可以通过运行 scoop checkup
来检测当前潜在问题,然后根据提示进行修正。
重装系统后,若 scoop 安装目录还存在。可通过 Everything
查找 .reg
注册表双击运行添加大部分软件的注册表。之后卸载开发环境(node
, git
),再重新安装。其他软件不需要管,以后更新会自动添加到菜单列表。
安装卸载
不推荐使用 scoop search <string>
查找软件,建议在这个网站上进行查找 Scoop-Apps。
# 安装软件
scoop install <app>
# 安装特定版本的软件;语法 AppName@[version],示例
scoop install git@2.23.0.windows.1
# 卸载软件
scoop uninstall <app>
必装C++软件运行库:scoop install vcredist
更新
# 检查哪些软件有更新
scoop status
# 更新 Scoop 自身
scoop update
# 更新某些软件
scoop update <appName1> <appName2>
# 更新所有软件
scoop update *
# 禁止某软件更新
scoop hold <app>
# 允许某软件更新
scoop unhold <app>
清除缓存与旧版本
# 查看所有已下载的缓存信息
scoop cache show
# 清除指定软件的下载缓存
scoop cache rm <app>
# 清除所有缓存
scoop cache rm *
# 删除某软件的旧版本
scoop cleanup <app>
版本切换
scoop reset [app]@[version]
# 切换到指定版本
scoop reset idea-ultimate-eap@201.6668.13
# 切换到最新版本
scoop reset idea-ultimate-eap
其它命令
# 显示某个软件的信息
scoop info <app>
# 列出已安装的软件
scoop list