Windows+Scoop 安装配置

799 阅读4分钟

什么是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

卸载应用

  1. 卸载某一程序
scoop uninstall <app>
  1. 卸载程序并移除配置文件
scoop uninstall <app> -p
  1. 卸载全局程序
scoop uninstall <app> -g

更新

  1. 更新 scoop 及所有 bucket 但不更新 app
scoop update
  1. 更新某一 app
scoop update <app>
  1. 更新 scoop、bucket、app
scoop update *
  1. 更新全局 app
scoop update <app> -g
  1. 禁止更新&解除禁止更新 app
scoop hold <app_name>

scoop unhold <app_name>

其他常用命令

  1. 查看已安装 app
scoop list
  1. 查看可更新 app
scoop status
  1. 查看某 app 主页
scoop home <app>
  1. 删除已添加的库
scoop bucket rm <bucket>
  1. 删除已安装软件的旧版本
scoop cleanup *
  1. 清理软件缓存,通常是下载的软件安装包。Scoop 在安装 app 时,会保留安装文件。即 Scoop 目录下的 cache 文件夹。
scoop cache rm <app_name>

// 下面几个命令是等同的 删除所有缓存
scoop cache rm *
scoop cache rm -a
scoop cache rm --all
  1. Scoop 设置相关。
// 查看配置
scoop help config
// 查看设置的值
scoop config <config_name>
// 更新设置
scoop config <config_name> <value>
// 删除设置
scoop config rm <config_name>
  1. Scoop 设置代理.如果在使用 Scoop 时遇到下载慢的问题,可以给 Scoop 设置一个代理。这个代理得是 HTTP 代理,SOCKS 代理是不行的。
scoop config proxy [<username>:<password>@]host:port