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

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命令

部分命令:

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

安装apps

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

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

注意:安装时会自动安装7zip.安装会很慢..等

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

scoop install aria2

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

scoop config aria2-enabled false
scoop update # 更新一下Scoop
mipsasm
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

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

mipsasm
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