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获取帮助
- alias 管理 scoop 别名
- bucket 管理 Scoop buckets
- cache 显示/清理下载缓存
- checkup 检查可能存在的问题
- cleanup 移除旧版本清理应用
- config 获取或设置配置值
- create 创建一个自定义的app manifest
- depends 列出一个app的依赖关系
- export 导出(可导入的)已安装应用程序列表
- help 显示一个命令的帮助
- home 打开一个app 的主页
- info 显示一个app的相关信息
- install 安装 apps
- list 列出已安装的 apps
- prefix 返回指定应用程序的路径
- reset 重置应用程序以解决冲突
- search 搜索可用应用
- status 显示状态并检查新的应用程序版本
- uninstall 卸载 app
- update 更新 apps 和更新 Scoop
- virustotal 在virustotal.com上查找应用程序的哈希
- 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 选项可对软件进行全局安装,全局安装需要管理员权限,所以需要提前以管理员权限运行的 PowerShell 。更简单的方式是先安装 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 有关的设置选项:
aria2-enabled: 开启 Aria2 下载,默认truearia2-retry-wait: 重试等待秒数,默认2aria2-split: 单任务最大连接数,默认5aria2-max-connection-per-server: 单服务器最大连接数,默认5,最大16aria2-min-split-size: 最小文件分片大小,默认5M
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的作者