Windows 包管理器 Scoop 设置

Scoop 算是一款 Windows 下比较好用的包管理器,现在记录下常用的配置流程。而且它保证了应用大部分是便携版对个人来说还是很方便的,需要应用搬家的时候直接把工作目录复制就好了。

安装

在 PowerShell 中按如下步骤输入命令:

  1. 授予当前用户在本地执行远程脚本的权限(如果有授权提示记得选“是”):

    1
    
    set-executionpolicy remotesigned -scope currentuser
    
  2. 执行安装脚本:

    1
    
    iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
    

然后等待自动脚本执行完毕。

使用简介

Scoop 的命令大体类似各种 Linux 发行版的包管理器,以 scoop {command} {target} 的方式组成:

  • command 代表可以执行的命令,可以用 scoop help 查看
  • target 代表执行对象,一般为应用名称

常用的命令有:

  • update:不加目标表示更新 scoop 本身,加目标则表示更新对应应用
  • bucket:应用列表管理(可接子命令)
    • list:列出已安装的应用列表
    • add:添加新的列表(部分官方参与维护的列表可以使用名称添加,其余要使用 GitHub 网址添加)
  • cache:操作下载缓存
    • rm:删除缓存(后接 * 表示删除所有缓存)
  • cleanup:移除旧版本应用(如果不确定新版本是否稳定,最好不要这么做)

工作区结构

Scoop 会在当前用户的用户文件夹下建立 Scoop 的工作区(默认文件夹名为 scoop),所有的下载、缓存、安装的软件包都在其中:

  • app:应用安装区域,以名称分别设立文件夹
    • 1.2.xx:文件夹即应用版本号,存放这个版本的应用
    • current:快捷方式,链接到最新的应用
  • buckets:应用列表
  • cache:下载缓存
  • shims:集中存放应用命令的链接或调用脚本,自动加入 path 路径中(自动进行兼容性处理)

这样 path 的定义就会比较简洁,也容易管理。另外,类似 JDK 等运行环境类应用也更方便管理,需要最新特性就用 current 子目录,需要特点版本就用对应版本的目录即可。

初始工作

  • sudo:类似 Linux 中的 sudo 命令,可以令一般用户使用管理员权限执行某些命令
  • aria2:多线程下载加速(直接安装即可,scoop 会进行默认配置)
  • git:Scoop 必需(会自动下载 7zip 和 OpenSSH)
  • OpenSSH:ssh 访问必需

注意:按微软的说法在 1809 版本的 Win10 之后 Windows 会自带 OpenSSH,但目前本人还没有找到和 Scoop 良好兼容的办法(主要是懒),所以 Scoop 会有如下提示安装 OpenSSH:

1
2
3
4
5
6
7
8
Notes
-----
To get Git to recognise OpenSSH, you will need to run

scoop install openssh
[environment]::setenvironmentvariable('GIT_SSH', (resolve-path (scoop which ssh)), 'USER')

and then restart powershell.

按照提示进行操作即可。 如果在运行命令 ssh-agent 后得到如下错误提示:

1
unable to start ssh-agent service, error :1058

那么多半是 OpenSSH 的服务没有运行,可以通过如下方式查看:

1
Get-Service ssh-agent

再看看服务运行状态是否被禁用了:

1
Get-Service ssh-agent | Select StartType

如果被禁用(即 StartType 显示为 Disabled)然后可以通过如下命令手动启用:

1
2
Get-Service -Name ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent

当然也可以去找到“服务”组件然后通过 GUI 方式启用,另外如有必要也可设置为自动运行。

输入命令查看 Scoop 状态:

1
scoop status

更新:

1
scoop update

如果更新或安装很慢,可能是 Windows Defender 在 Scoop 解压或安装的时候进行频繁的扫描,可以通过如下命令关闭(需要安装 sudo 或切换为管理员):

1
sudo Add-MpPreference -ExclusionPath "$($env:programdata)\scoop", "$($env:scoop)"

常用列表

可以使用如下命令查看可以直接添加的软件列表:

1
scoop bucket known

一般建议使用如下列表:

  • java:JDK 相关,保护 OracleJDK 和 OpenJDK
  • php:Windows 下 PHP 编程相关
  • extras:不适合放在 main 列表中的常用软件(一般不用担心兼容性)
  • nirsoft:NirSoft 网站中的热门应用,大都质量不错

另外,jetbrains 列表一般还是不建议使用,毕竟应用太大而且更新算是比较频繁,而且经常小版本更新也会重新下载全部应用内容,就算用代理下载速度都不甚理想。

参考文章

「一行代码」搞定软件安装卸载,用 Scoop 管理你的 Windows 软件