Windows系统安装使用Scoop包管理器

前言

Scoop是Windows的命令行安装程序.

如果用过Linux系统,使用apt-get工具安装过软件,或者用过Python,知道pip工具用于管理Python各种依赖包,那么理解Scoop就比较容易,这些工具的设计理念与使用方法都非常类似.

Scoop一般用来管理绿色软件,即是一种通过解压压缩包即可就地使用的软件,对于比较专业软件(比如Office、Adobe等)支持不好

基础环境配置

在准备安装之前,建议进行配置(如果你能解决GitHub访问问题,请跳过😄)

如果你是win10系统,建议安装Terminal

新一代终端Windows Terminal
支持标签页、多种命令行工具多开…
可定制美化

正式开始Scoop的安装

github地址:https://github.com/ScoopInstaller/Scoop

文档地址:https://scoop.sh/

命令安装

为了让Powerbash可以执行脚本,首先需要设置Powerbash执行策略,通过输入以下命令Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser(在之前安装好的Terminal执行)

从非管理员 Powerbash 运行此命令以使用默认配置安装 scoop, Scoop将安装到 C:\Users\scoop

irm get.scoop.sh | iex
# 使用镜像安装
irm get.scoop.sh -Proxy 'http://<ip:port>' | iex

或者以下命令:

Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')

高级安装

如果你不想安装到C盘,可采用此方法(小白不推荐)

先执行

irm get.scoop.sh -outfile 'install.ps1'

下载安装程序

可以explorer .在当前打开资源管理器,查看下载的文件

查看安装程序的所有可配置参数.

.\install.ps1 -?

例如,可以将 scoop 安装到自定义目录,配置 scoop 进行安装全局程序到自定义目录,并在安装过程中绕过系统代理.(不指定ScoopGlobalDir参数,则默认安装到Scoop目录下)

.\install.ps1 -ScoopDir 'D:\Scoop' -ScoopGlobalDir 'D:\Scoop\GlobalApps' -NoProxy

或者,可以使用旧方法通过设置环境变量来配置自定义目录.(不推荐)

$env:SCOOP='D:\Applications\Scoop'
$env:SCOOP_GLOBAL='F:\GlobalScoopApps'
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')
irm get.scoop.sh | iex

默认情况下已禁用管理员控制台下Scoop的安装,如果需要使用 -RunAsAdmin

irm get.scoop.sh -outfile 'install.ps1'
.\install.ps1 -RunAsAdmin [-OtherParameters ...]
# I don't care about other parameters and want a one-line command
iex "& {$(irm get.scoop.sh)} -RunAsAdmin"

Scoop配置

如果输出了successfully,就代表已成功安装Scoop.

  • app —— 安装的软件放在这里
  • bucket —— 已经添加的软件仓库
  • shims —— Scoop可以自动生成bash脚本,省去了Windows配环境变量的烦恼(我的jdk,MG-win64,cmake,python,conda,git等环境变量基本就靠Scoop的shims)

我们先在Terminal中输入scoop -v看看scoop命令是否可以使用

输入scoop help就可以看Scoop命令

部分命令:

CommandSummary
update更新
list显示已安装列表
install安装
uninstall卸载
search搜索app
status检查更新
bucketScoop buckets
cache缓存
reset重设
cleanup清除旧版
help帮助
shimshims

安装apps

由于Scoop的软件仓库,是基于Git和7zip工具管理的,所以我们首先需要安装的就是git.

scoop install git
git config --global http.sslVerifyfalse # git 配置

注意

.安装会很慢..等

好吧,其实可以先安装aria2多线程加速

scoop install aria2

如果使用代理,有时需要通过如下命令关闭 aria2

scoop config aria2-enabled false
scoop update # 更新一下Scoop
scoop全局安装软件可以附加`-g`,如:scoop install git -g;但是必须以管理员的身份执行.

bucket

在 Scoop 中,存储桶是应用程序的集合.或者,更具体地说,存储桶是一个 Git 存储库,其中包含描述如何安装应用程序的 JSON 应用程序清单.

Scoop默认的bucket是main

scoop bucket known # 查看社区的bucket列表

我们可以为main bucket配置镜像来加速

  1. 先卸载 main的bucket
scoop bucket rm main
  1. 添加 main 镜像代理
scoop bucket add main https://ghproxy.com/github.com/ScoopInstaller/Main.git

添加其他 bucket

常用bucket:https://rasa.github.io/scoop-directory/by-score.html

scoop bucket add extras # 添加了多种软件包
scoop bucket add versions # 保留了旧版本
scoop bucket add java
scoop bucket add nerd-fonts
scoop bucket add dorado https://github.com/chawyehsu/dorado # 许多国内应用qq、微信
scoop bucket add extras-cn https://github.com/Scoopforge/Extras-CN

国内推荐:

scoop bucket add scoop-cn https://ghproxy.com/github.com/duzyn/scoop-cn

指定仓库安装

scoop install <bucket_Name>/<packName>

jdk安装实例演示

  1. 先添加Java的bucket
scoop bucket add java
  1. 再使用scoop search来搜索jdk的包
scoop search jdk
  1. 选择自己需要的jdk版本进行安装
scoop install zulu17-jdk
  1. 清除缓存
scoop cache rm * # 清除所有缓存

scoop 版本控制

scoop可以使用scoop reset切换软件版本,用法是scoop reset <pack name>@<version number>scoop reset <对应的软件包名>

scoop install <pack name>@<version number>安装指定的版本(这个不太好用)

scoop cleanup用来清理旧版本

scoop cleanup * # 清理所有旧版

软件推荐

#调用管理员权限
scoop install sudo
#使用
sudo scoop install git -g
#scoop 本地搜索,提高搜索效率
scoop install scoop-search
scoop-search jdk
#插件补全
scoop install scoop-completion

我的安装列表(根据自己的需要进行安装)

aria2
dark
mingw
scoop-completion
scoop-search
sudo
dotnet-sdk-lts
7zip
starship
git
fork
Termius
vscode
brave
Powerbash
bruno
ditto
go
nodejs
pnpm
bun
cherry-studio
clash-party
f.lux
croc
deno
duckdb
exiftool
fd
ffmpeg
flameshot
frp
fzf
git-lfs
GitButler
gopeed
HandBrake
imagemagick
innounp
jq
lazydocker
lazygit
less
localsend
LosslessCut
lua
lunarvim
mkcert
mobaxterm
mpv
mqttx
nano
neovim
nexttrace
nodejs22
nu
obs-studio
Obsidian
openssh
openssl
pandoc
picgo
poppler
pot
python
qbittorrent-enhanced
rider
ripgrep
rust
rustdesk
siyuan-note
stirling-pdf
tailspin
temurin17-jdk
temurin21-jdk
temurin8-jdk
tssh
umi-ocr-paddle
webstorm
windterm
winscp
winsw
wireshark
xray
yaak
yarn
yazi
zotero
zoxide
zulu17-jdk
zulu21-jdk
zulu8-jdk

附录

常用命令

# 查看已安装程序
scoop list
# 查看更新
scoop status
# 更新版本,更新仓库
scoop update
# 删除旧版本
scoop cleanup
# 自身诊断
scoop checkup

Aria2 的参数

scoop config aria2-retry-wait 4
scoop config aria2-split 16
scoop config aria2-max-connection-per-server 16
scoop config aria2-min-split-size 4M

Scoop代理

#设置代理
scoop config proxy 127.0.0.1:7890
#关闭代理
scoop config proxy false
#使用用户代理
scoop config proxy currentuser@default
#绕过代理直连
scoop config proxy none