苏在/windows包管理之Scoop

Created Sat, 15 Oct 2022 16:18:17 +0800 Modified Tue, 08 Nov 2022 12:56:37 +0000

windows包管理之Scoop

Scoop

  • 官方地址:https://scoop.sh/
  • GitHub地址:https://github.com/ScoopInstaller/Scoop
  • 官方文档:https://github.com/ScoopInstaller/Scoop/wiki

环境要求:

  • Windows 7 SP1 + / Windows Server 2008+
  • PowerShell 5(或更高版本,包括 PowerShell Core)和 .NET Framework 4.5(或更高版本)
  • Windows 用户名为英文(Windows 用户环境变量中路径值不支持中文字符)
  • 正常、快速的访问 GitHub 并下载资源

$PSVersionTable.PSVersion.Major #查看Powershell版本 $PSVersionTable.CLRVersion.Major #查看.NET Framework版本

安装scoop

Scoop 默认使用普通用户权限,其本体和安装的软件默认会放在 %USERPROFILE%\scoop(即 C:\Users\用户名\scoop),使用管理员权限进行全局安装 (-g) 的软件在 C:\ProgramData\scoop。 如果有自定义路径需求,请提前设置好。

进入 PowerShell 提示符

  • 开始 ->(搜索)“PowerShell”
  • 终端窗口应该出现
  • “Powershell”
  • 提示现在应该以"PS"开头

自定义路径

假设目标目录是D:\scoop,在 PowerShell 命令控制台中,运行:

$env:SCOOP=‘D:\scoop’ [environment]::setEnvironmentVariable(‘SCOOP’,$env:SCOOP,‘User’)

假设目标目录是D:\apps,在启用管理员的 PowerShell 命令控制台中,运行:

$env:SCOOP_GLOBAL=‘D:\apps’ [environment]::setEnvironmentVariable(‘SCOOP_GLOBAL’,$env:SCOOP_GLOBAL,‘Machine’)

设置允许Power Shell执行本地脚本

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

安装Scoop

iwr -useb get.scoop.sh | iex

没安装过 Git 则需要安装。

scoop install git

基本使用scoop install git

最基础的使用方法和其它包管理器类似,这里就不做赘述了,直接上命令列表:

  • scoop search <app> - 搜索软件
  • scoop install <app> - 安装软件
  • scoop info <app> - 查看软件详细信息
  • scoop list - 查看已安装软件
  • scoop uninstall <app> - 卸载软件,-p删除配置文件。
  • scoop update - 更新 scoop 本体和软件列表
  • scoop update <app> - 更新指定软件
  • scoop update * - 更新所有已安装的软件
  • scoop checkup - 检查 scoop 的问题并给出解决问题的建议
  • scoop help - 查看命令列表
  • scoop help <command> - 查看命令帮助说明

输入scoop help获取帮助

  1. alias 管理 scoop 别名
  2. bucket 管理 Scoop buckets
  3. cache 显示/清理下载缓存
  4. checkup 检查可能存在的问题
  5. cleanup 移除旧版本清理应用
  6. config 获取或设置配置值
  7. create 创建一个自定义的app manifest
  8. depends 列出一个app的依赖关系
  9. export 导出(可导入的)已安装应用程序列表
  10. help 显示一个命令的帮助
  11. home 打开一个app 的主页
  12. info 显示一个app的相关信息
  13. install 安装 apps
  14. list 列出已安装的 apps
  15. prefix 返回指定应用程序的路径
  16. reset 重置应用程序以解决冲突
  17. search 搜索可用应用
  18. status 显示状态并检查新的应用程序版本
  19. uninstall 卸载 app
  20. update 更新 apps 和更新 Scoop
  21. virustotal 在virustotal.com上查找应用程序的哈希
  22. which 找到一个shim/可执行文件(类似于Linux上的which)

基本操作

安装Git

# 查找 scoop search git # 安装 scoop install git #卸载 scoop uninstall git # 更新 scoop update git

添加 bucket

scoop自带的 main bucket 软件有点少,可以添加官方维护的 extras bucket,或者其他第三方bucket

# 查找官方认可的 bucket scoop bucket known # 添加官方认可的 bucket (换成查找出来的bucket名字,比如‘extras’) scoop bucket add # 添加 extras bucket scoop bucket add extras

添加第三方 bucket

在scoop search中找不到需要的软件,可以上github上的第三方bucket查找一下。

# 添加第三方 bucket scoop bucket add https://github.com/xxx/xxx # 从第三方 bucket 安装软件 scoop install /

清理安装包缓存

使用scoop cache命令来清理

  • scoop cache show - 显示安装包缓存
  • scoop cache rm <app> - 删除指定应用的安装包缓存
  • scoop cache rm * - 删除所有的安装包缓存

如果你不希望安装和更新软件时保留安装包缓存,可以加上 -k--no-cache 选项来禁用缓存:

  • scoop install -k <app>
  • scoop update -k *

删除旧版本软件

当软件被更新后 Scoop 还会保留软件的旧版本,更新软件后可以通过 scoop cleanup 命令进行删除。

  • scoop cleanup <app> - 删除指定软件的旧版本
  • scoop cleanup * - 删除所有软件的旧版本

与安装软件一样,删除旧版本软件的同时也可以清理安装包缓存,同样是加上 -k 选项。

  • scoop cleanup -k <app> - 删除指定软件的旧版本并清除安装包缓存
  • scoop cleanup -k * - 删除所有软件的旧版本并清除安装包缓存

全局安装

全局安装就是给系统中的所有用户都安装,且环境变量是系统变量,对于需要设置系统变量的一些软件就需要全局安装,比如 Node.js、Python ,否则某些情况会出现无法找到命令的问题。

使用 scoop install <app> 命令加上 -g--global 选项可对软件进行全局安装,全局安装需要管理员权限,所以需要提前以管理员权限运行的 Pow­er­Shell 。更简单的方式是先安装 sudo,然后用 sudo 命令来提权执行:

scoop install sudo #提权
sudo scoop install -g <app> #全局安装

使用 scoop list 命令查看已装软件时,全局安装的软件末尾会有 *global* 标志。

此外对于全局软件的更新和卸载等其它操作,都需要加上 -g 选项:

  • sudo scoop update -g * - 更新所有软件(且包含全局软件)
  • sudo scoop uninstall -g <app> - 卸载全局软件
  • sudo scoop uninstall -gp <app> - 卸载全局软件(并删除配置文件)
  • sudo scoop cleanup -g * - 删除所有全局软件的旧版本
  • sudo scoop cleanup -gk * - 删除所有全局软件的旧版本(并清除安装包包缓存)

代理设置

Scoop 默认使用的是系统代理,如果你想手动指定代理,可以输入下面的命令。需要注意的是只支持 http 协议。

scoop config proxy localhost:1080

设置完可以通过scoop config proxy查看。

如果你想取消代理,那么输入下面的命令,这将会恢复使用系统代理。

scoop config rm proxy

开启多线程下载

使用 Scoop 安装 Aria2 后,Scoop 会自动调用 Aria2 进行多线程加速下载。

scoop install aria2

使用 scoop config 命令可以对 Aria2 进行设置,比如 scoop config aria2-enabled false 可以禁止调用 Aria2 下载。以下是与 Aria2 有关的设置选项:

P3TERX博主的优化设置,单任务最大连接数设置为 32,单服务器最大连接数设置为 16,最小文件分片大小设置为 1M

scoop config aria2-split 32
scoop config aria2-max-connection-per-server 16
scoop config aria2-min-split-size 1M

常用命令总结

总结 Scoop 在日常使用中的常用命令:

# 更新 scoop 及软件包列表
scoop update

## 安装软件 ##
# 非全局安装(并禁止安装包缓存)
scoop install -k <app>
# 全局安装(并禁止安装包缓存)
sudo scoop install -gk <app>

## 卸载软件 ##
# 卸载非全局软件(并删除配置文件)
scoop uninstall -p <app>
# 卸载全局软件(并删除配置文件)
sudo scoop uninstall -gp <app>

## 更新软件 ##
# 更新所有非全局软件(并禁止安装包缓存)
scoop update -k *
# 更新所有软件(并禁止安装包缓存)
sudo scoop update -gk *

## 垃圾清理 ##
# 删除所有旧版本非全局软件(并删除软件包缓存)
scoop cleanup -k *
# 删除所有旧版本软件(并删除软件包缓存)
sudo scoop cleanup -gk *
# 清除软件包缓存
scoop cache rm *

尾声

P3TERX博主的教程已经非常简单详细,自己复刻下来是想着备份一份,顺便熟悉一下。

感谢下面的文章作者和scoop的作者

Scoop官网

Scoop - 最好用的 Windows 包管理器

手把手教你怎么使用Win10推出软件包管理器(分享)-windows运维-PHP中文网