Scoop
跳到导航
跳到搜索
关于
Scoop:Windows 系统的包管理工具。
Scoop 将软件安装到一个相对隔离的环境下(Each program you install is isolated and independent),从而保证环境的统一和路径不被污染。
类比于:Homebrew(macOS)
要求:
- Windows 7 SP1+ / Windows Server 2008
- PowerShell 5+(include PowerShell Core and .NET Framework 4.5)
- 能正常访问 GitHub 并下载上面的资源
- 用户环境变量的路径中无中文字符(用户名为英文)
安装
如果要将 Scoop 安装在自定义位置(默认位置:“C:\Users\<user>\scoop”),需要先设置环境变量(用于设置安装位置)。
安装:
- 在 PowerShell 中打开远程权限:
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
- 安装 Scoop:
- 安装问题:
使用“1”个参数调用“DownloadString”时发生异常:“未能解析此远程名称: 'raw.githubusercontent.com'”
- 到“https://www.ipaddress.com/”查看“http://raw.githubusercontent.com”的解析地址;
- 将解析的 IP 添加到 hosts(C:\Windows\System32\drivers\etc\)中,如:
185.199.108.133 raw.githubusercontent.com 185.199.109.133 raw.githubusercontent.com 185.199.110.133 raw.githubusercontent.com 185.199.111.133 raw.githubusercontent.com
- 继续执行安装命令。
- 注:Scoop 支持利用 aria2 进行多线程下载。所以可先下载 aria2(“scoop install aria2”),之后所有的下载任务就均可以调用 aria2 多线程下载来提高速度了。
卸载:
scoop uninstall scoop
环境变量
配置环境变量,用于设置 Scoop 的安装位置(Scoop位置、用户程序位置、全局程序位置)
环境变量:
- SCOOP:
# 添加:变量(“SCOOP”),值($env:SCOOP 内容),到“用户变量” $env:SCOOP='D:\Scoop' [Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
- 用于:Scoop位置、用户程序位置。
- 默认:“C:\User\<Your Username>\scoop”。
- SCOOP_GLOBAL:(需要管理员权限)
# 添加:变量(“SCOOP_GLOBAL”),值($env:SCOOP_GLOBAL 内容),到“系统变量” $env:SCOOP_GLOBAL='D:\Scoop\apps_global' [Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')
- 用于:全局程序位置。
- 默认:“C:\ProgramData\scoop”。
文件夹结构
环境变量“SCOOP”中的文件夹。
文件夹:
- “shims”:存放软链接;
- scoop 会自动在该文件夹下为新安装的程序添加对应的 .exe 文件,所以程序一旦安装就可以直接在命令行中运行。
- “apps”:存放已安装的软件;
- “buckets”:存放添加的软件仓库;
相关命令
- 基础命令:
# scoop 帮助信息 scoop help # 命令帮助信息 scoop help <command> # 诊断测试:(执行一系列诊断测试,以确定 Scoop 的问题) scoop checkup # 命令别名:添加 scoop alias add <alia> <command> <description> # 命令别名:删除 scoop alias rm <alia> # 命令别名:列表 scoop alias list <alia> # 命令别名:检查 scoop alias list -v
- 示例:
# 为“status”添加别名“st” scoop alias add st 'scoop status' '检查更新' # 测试已添加的别名 st scoop st
- 软件相关:
# 查看已安装程序 scoop list # 搜索软件 scoop search <app_name> # 安装软件 scoop install <app_name> # 安装软件(到 global 目录) scoop install -g <app_name> # 安装软件(特定版本) scoop install <app_name><version> # 卸载软件 scoop uninstall <app_name> # 查看软件状态 scoop status <app_name> # 查看软件详情 scoop info <app_name> # 打开软件主页 scoop home <app_name>
- 安装指定仓库的软件:
scoop install <bucket_name>/<app_name>
- 切换软件版本:(该版本必须已下载安装到本地)
# 切换软件版本(到对应版本) scoop reset <app_name><version> # 切换软件版本(到最新) scoop reset <app_name>
- <version> 可以仅写“大版本号”。如:“openjdk10”、“python27”。
- 更新相关:
# 查看所有可用更新 scoop status # 更新 Scoop 自身 scoop update # 更新所有 app(需在apps目录下操作) scoop update * # 更新软件 scoop update <app_name1> [<app_name2> <app_name3> ...] # 禁止程序更新 scoop hold <app_name> # 允许程序更新 scoop unhold <app_name>
- 缓存与旧版本:
# 查看:所有已下载的缓存信息 scoop cache show # 清除所有缓存 scoop cache rm * # 清除软件缓存 scoop cache rm <app_name> # 删除软件旧版本 scoop cleanup <app_name> # 删除软件旧版本(全局安装的) scoop cleanup <app_name> -g # 删除过期的下载缓存 scoop cleanup <app_name> -k
- 仓库相关:
# 查看官方推荐仓库(bucket): scoop bucket known # 添加仓库:(官方) scoop bucket add <bucket_name> # 添加仓库:(第三方) scoop bucket add <bucket_name> <bucket_address> # 移除仓库: scoop bucket rm # 仓库列表(已添加): scoop bucket list
- 更换 Scoop 源:(如:https://gitee.com/squallliu/scoop)
scoop config scoop_rapo <源地址>
- 更换 bucket 源:
scoop config <bucket> <源地址>
官方仓库
- main
- extras
- games
- nerd-fonts
- nirsoft
- Java
- jetbrains
- nonportable
- php
- versions