什么是Scoop
Scoop 是一个 windows 命令行应用包安装管理工具。
官网:Scoop
Scoop 开源仓库:Scoop仓库
通过命令行界面,Scoop 可以顺畅地安装应用程序。(官方说明)
- 没有权限弹出窗口
- 隐藏 GUI 向导式安装程序
- 防止因而安装大量程序造成 PATH 污染
- 避免安装和卸载程序的不当使用
- 自动查找并安装依赖项
- 自动执行所有额外的设置步骤来获取工作程序
安装 Scoop
默认位置安装
默认安装在 C:\Users\${User}\scoop 路径下。
> dir ~\scoop
Directory: C:\Users\User\scoop
Mode LastWriteTime Length Name
---- ------------- ------ ----
da--- 02-04-2022 16:06 apps
d---- 30-03-2022 13:22 buckets
d---- 02-04-2022 16:06 cache
da--- 30-03-2022 21:32 persist
da--- 02-04-2022 16:06 shims
d---- 20-02-2022 01:22 workspace
执行命令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
或者:
iwr -useb get.scoop.sh | iex POWERSHELL
注: 默认禁止管理员权限执行。
自定义安装
SCOOP 变量的值是 Scoop 在当前用户安装的位置。
SCOOP_GLOBAL变量的值是是 Scoop 在全局安装的位置。
# 设置用户环境变量
[Environment]::SetEnvironmentVariable('SCOOP', 'D:\Scoop', 'User');
# 下面这条需要管理员权限 设置系统环境变量
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', 'D:\GlobalScoop', 'Machine');
# 安装不能在管理员权限下进行
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
使用Scoop
注意:需要使用Scoop 确保已经安装git。
如果未安装,执行:
scoop install git
如果需要查看scoop 安装路径等信息:
scoop config
查看scoop相关命令信息:
scoop help
scoop help <command>
关于Bucket
bucket 是一个 app 元数据的集合,一个 bucket 存放在 Git 仓库里。
可以通过以下命令查看Scoop社区维护的bucket。
scoop bucket known
安装完 Scoop 后默认只有 main bucket。可以通过下面命令查看已添加额 bucket。
scoop bucket list
可以添加需要的 bucket 或者是自建的第三方库。
scoop bucket add <bucket>
scoop bucket add <bucket> <bucket_url>
国内可能会因为github连接的问题添加失败等等等问题。可以添加其gitee的镜像版本。 比如 gitee.com/scoop-bucke… 。按情况添加需要的bucket。
包括替换 SCOOP_REPO。
scoop config SCOOP_REPO "https://gitee.com/scoop-installer/scoop"
cd %SCOOP%buckets/main/
git remote set-url origin https://gitee.com/scoop-bucket/main.git
scoop bucket add extras https://gitee.com/scoop-bucket/extras.git
scoop bucket add dorado https://gitee.com/scoop-bucket/dorado.git
scoop bucket add nerd-fonts https://gitee.com/scoop-bucket/nerd-fonts.git
scoop bucket add versions https://gitee.com/scoop-bucket/versions.git
scoop bucket add java https://gitee.com/scoop-bucket/java.git
scoop bucket add backit https://gitee.com/scoop-bucket/backit.git
部分情况下,如果上述已经添加的bucket失效了,可以将其删除
scoop bucket rm <bucket>
或者使用镜像站... 比如 ghproxy。
安装应用
安装应用有两种情况,为当前用户安装和全局安装(需要管理员权限)。
其安装目录分别为上述安装配置的 %SCOOP%\apps 和 %SCOOP_GLOBAL%\apps。
安装命令格式为:
scoop install [<bucket_name>/]<app_name>[@<version>]
scoop install <manifest_url>
比如:
scoop install neovim
scoop install neovim -g
# 安装指定bucket 指定应用 指定版本
scoop install extras/googlechrome@107.0.5304.107
搜索应用
官方默认提供搜索命令
scoop search <app_name>
比如:
scoop search neovim
自带的搜索在仓库内容多的时候可能会比较慢,可以安装 scoop-search以代替。
scoop install scoop-search
scoop-search <app_name>
比如:
PS E:\workspace_terminal> scoop-search neovim
'extras' bucket:
goneovim (0.6.8)
neovim-qt (0.2.18)
'main' bucket:
neovim (0.10.1)
PS E:\workspace_terminal> scoop search neovim
Results from local buckets...
Name Version Source Binaries
---- ------- ------ --------
neovim 0.10.1 main
goneovim 0.6.8 extras
neovim-qt 0.2.18 extras
卸载应用
- 卸载某一程序
scoop uninstall <app>
- 卸载程序并移除配置文件
scoop uninstall <app> -p
- 卸载全局程序
scoop uninstall <app> -g
更新
- 更新 scoop 及所有 bucket 但不更新 app
scoop update
- 更新某一 app
scoop update <app>
- 更新 scoop、bucket、app
scoop update *
- 更新全局 app
scoop update <app> -g
- 禁止更新&解除禁止更新 app
scoop hold <app_name>
scoop unhold <app_name>
其他常用命令
- 查看已安装 app
scoop list
- 查看可更新 app
scoop status
- 查看某 app 主页
scoop home <app>
- 删除已添加的库
scoop bucket rm <bucket>
- 删除已安装软件的旧版本
scoop cleanup *
- 清理软件缓存,通常是下载的软件安装包。
Scoop在安装app时,会保留安装文件。即Scoop目录下的cache文件夹。
scoop cache rm <app_name>
// 下面几个命令是等同的 删除所有缓存
scoop cache rm *
scoop cache rm -a
scoop cache rm --all
- 对
Scoop设置相关。
// 查看配置
scoop help config
// 查看设置的值
scoop config <config_name>
// 更新设置
scoop config <config_name> <value>
// 删除设置
scoop config rm <config_name>
Scoop设置代理.如果在使用Scoop时遇到下载慢的问题,可以给Scoop设置一个代理。这个代理得是HTTP代理,SOCKS代理是不行的。
scoop config proxy [<username>:<password>@]host:port