- scoop官网:https://scoop.sh
- scoop GitHub:https://github.com/lukesampson/scoop
Scoop 是个优质的 Windows 包管理器。它不仅轻量,还将软件直接安装到我们的用户目录下,安装过程不需要申请管理员权限(UAC)也不会污染系统环境变量。
安装环境
- 用户名不含中文字符
- Windows 7 SP1+ / Windows Server 2008+
- PowerShell 3+
- .NET Framework 4.5+
若Powershell或.NET Franmework版本过旧,更新后重启即可。
若不清楚版本号,可Win+R运行powershell,输入以下命令获取版本号。
$PSVersionTable.PSVersion.Major #查看Powershell版本$PSVersionTable.CLRVersion.Major #查看.NET Framework版本
安装 Scoop
在线安装
在 PowerShell 中输入下面内容,保证允许本地脚本的执行:
set-executionpolicy remotesigned -scope currentuser
然后执行下面的命令安装 Scoop:
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')# 或iwr -useb get.scoop.sh | iex
静待脚本执行完成就可以了,安装成功后,让我们尝试一下:
scoop help
Scoop默认安装到C:\Users\<user>\scoop
手动安装
如果在线安装不成功,可以克隆https://github.com/lukesampson/scoop到以下路径:
C:\Users\<user>\scoop\apps\scoop\current
比如:
C:\Users\quanzaiyu\scoop\apps\scoop\current

创建以下目录:
C:\Users\quanzaiyu\scoop\bucketsC:\Users\quanzaiyu\scoop\shims

将以下内容添加到环境变量:
PATH:C:\Users\quanzaiyu\scoop\apps\scoop\current\binC:\Users\quanzaiyu\scoop\shimsPATHEXT:PS1

输入scoop查看是否生效:
bucket
什么是 bucket
在 Scoop 里面,bucket 就是一个软件仓库。Scoop 将一个个仓库缓存至本地,当我们想要安装一个软件的时候,Scoop 就从本地的仓库中挑选出我们想要安装的软件的安装配置文件,并依照这个配置文件进行软件的安装工作,包括:
- 从哪里下载软件
- 如何安装软件、安装到哪里、需要修改更新什么环境变量
- 安装之前、之后都要做什么准备(善后)工作
这就是 Scoop 安装软件的一个具体过程。
Scoop 默认软件仓库(main bucket)软件数量是有限的。同时由于 Scoop 的设计初衷是为了方便 Windows 开发者安装和配置开发工具,其默认软件仓库的收录条件也就很苛刻:
- 必须是主流的开发者工具
- 必须是维护中的最新版本的软件
- 必须是完整版本(非 Trial 版本)的软件
- 不可以有复杂的安装前与安装后处理步骤
- 不可以有 GUI
这个最后一点恐怕是最严格的条件了,直接否决了一系列用户向软件(Firefox、Typora 等等)的收录。但是我们一样可以安装我们常用的图形界面软件,这就涉及到接下来我要介绍的,与 Homebrew cask 的设计理念类似的 Scoop bucket。
官方维护的 bucket
extras 这个 bucket 是最有用,也是我们大部分人肯定会用到的仓库。除此之外,我们可以通过这个命令查看 Scoop 还能直接识别哪些 bucket:
$ scoop bucket knownmainextrasversionsnightliesnirsoftphpnerd-fontsnonportablejavagamesjetbrains
添加bucket
下面列出的这几个仓库就是 Scoop 可以直接识别并添加的 bucket,即我们可以通过下面这个命令直接添加相应的 bucket:
scoop bucket add <仓库名>
这里面,我来介绍一下和开发环境的安装没有太大关系的几个仓库:
extras:Scoop 官方维护的一个仓库,涵盖了大部分因为种种原因不能被收录进主仓库的常用软件。地址:lukesampson/scoop-extrasnirsoft:是一个 NirSoft 开发的小工具的安装合集。NirSoft 制作了大量的(dozens and dozens)小工具,包括系统工具、网络工具、密码恢复等等,孜孜不倦、持续更新。- Bucket 地址:kodybrown/scoop-nirsoft
- NirSoft 官网地址:NirSoft
games:顾名思义,是游戏(和与游戏相关的工具)合集。包含了大量免费/开源的小游戏,地址:Calinou/scoop-games
剩下的几个 bucket 都是和开发环境相关的,比如 java 这个 bucket 就是为了安装 JDK 用的 bucket,这些我在这里就不过多赘述了。
比如要安装main这个bucket(如果是在线安装的已经自带了),执行以下命令即可:
scoop bucket add main
如果速度感觉太慢或网络问题,可以直接克隆对应的仓库到C:\Users\quanzaiyu\scoop\buckets下即可,比如:
git clone https://github.com/ScoopInstaller/Main.git maingit clone https://github.com/lukesampson/scoop-extras.git extrasgit clone https://github.com/ScoopInstaller/Java.git javagit clone https://github.com/Ash258/Scoop-JetBrains.git jetbrainsgit clone https://github.com/matthewjberger/scoop-nerd-fonts.git nerd-fonts
社区提供的 bucket
上面几个 bucket 都是 Scoop 官方维护认证的 bucket,当然我们也有很多由社区(用户)维护的 bucket。这里是一个按照 Github score(由 Star 数量、Fork 数量和 App 数量综合决定的 Github score)排列的 bucket 列表:Scoop buckets by Github score。
我们可以通过这样的方式来将社区维护的 bucket 添加至本机的 Scoop bucket 列表:
scoop bucket add <仓库名> <仓库地址>
再举个例子,比如添加「dorado」仓:
scoop bucket add dorado https://github.com/h404bi/dorado
当然,也可以到bucket目录下直接克隆:
git clone https://github.com/h404bi/dorado.git dorado
这样之后,如果我们要安装「dorado」仓的某项 App,直接通过下面的这个命令安装即可:
scoop install dorado/<App 名>
往往,Google 搜索「App 的名字 + scoop」就可以找到我们想要安装 App 的仓库有没有存在。
常用的Bucket:
git clone https://github.com/h404bi/dorado.gitgit clone https://github.com/dodorz/scoop-bucket.git dodorzgit clone https://github.com/lukesampson/scoop-extras.git lukesampson
查看安装的bucket
通过以下命令查看所有已经安装的bucket:
$ scoop bucket listdodorzdoradoextrasjavajetbrainslukesampsonmainnerd-fonts
安装软件
命令:
scoop install 软件名
举例:安装aria2
$ scoop install aria2Installing 'aria2' (1.35.0-1) [64bit]Loading aria2-1.35.0-win-64bit-build1.zip from cacheChecking hash of aria2-1.35.0-win-64bit-build1.zip ... ok.Extracting aria2-1.35.0-win-64bit-build1.zip ... done.Linking ~\scoop\apps\aria2\current => ~\scoop\apps\aria2\1.35.0-1Creating shim for 'aria2c'.'aria2' (1.35.0-1) was installed successfully!
安装后可以看到在C:\Users\quanzaiyu\scoop\shims下生成了以下文件:
测试是否生效:
$ aria2cSpecify at least one URL.Usage: aria2c [OPTIONS] [URI | MAGNET | TORRENT_FILE | METALINK_FILE]...See 'aria2c -h'.
一些常用的在官方bucket中收录的软件
编程开发相关:
scoop install gitscoop install nodejsscoop install yarnscoop install vimscoop install wgetscoop install anaconda3scoop install goscoop install dartscoop install gcc
可视化程序:
scoop install typora
字体:
scoop install FiraCodescoop install SarasaGothic
一些常用的在社区bucket中收录的软件
scoop install dodorz/quickerscoop install dodorz/everything
scoop install lukesampson/fiddlerscoop install lukesampson/dropitscoop install lukesampson/listary
搜索软件
如果不知道在scoop中有没有收录想要的软件,可以执行search命令查看,比如搜索ssh:
$ scoop search ssh'extras' bucket:processhacker (2.39)ssh-agent-wsl (2.5)winsshterm (2.9.4)wsl-ssh-pageant (20190513.14)'main' bucket:git-with-openssh (2.26.2.windows.1)gow (0.8.0) --> includes 'ssh.bat'mls-software-openssh (8.2p1-1)openssh (8.2p1-1)ssh-copy-id (2015-03-22)win32-openssh (8.1.0.0p1-Beta)
可以看到,在extras和main两个bucket中均有收录
卸载与更新
卸载软件,比如:
scoop uninstall 7zip
更新scoop及软件:
scoop update #更新scoopscoop update 7zip #更新7zipscoop * #更新全部
移除所有旧版本:
scoop cleanup *
查看已安装的软件
如果想要查看所有通过Scoop安装的软件,使用scoop list命令:
$ scoop listInstalled apps:7zip 19.00anaconda3 2020.02 [dorado]aria2 1.35.0-1cacert 2020-01-01dart *failed*dropit 8.5.1 [lukesampson]erlang *failed*everything 1.4.1.969 [dodorz]fiddler *failed*FiraCode 3.1 [nerd-fonts]git 2.26.2.windows.1go 1.14.2innounp 0.49IntelliJ-IDEA *failed*listary 5.00.2843 [lukesampson]nodejs 14.0.0quicker 1.5.25.0 [dodorz]SarasaGothic 0.10.2 [nerd-fonts]typora 0.9.86 [extras]vim 8.2wget 1.20.3yarn 1.22.4
导出软件列表:
scoop list > C:/scoop/ScoopAppList.txt
获取帮助
通过以下命令可以看到帮助:
$ scoop -hUsage: scoop <command> [<args>]Some useful commands are:alias Manage scoop aliasesbucket Manage Scoop bucketscache Show or clear the download cachecheckup Check for potential problemscleanup Cleanup apps by removing old versionsconfig Get or set configuration valuescreate Create a custom app manifestdepends List dependencies for an appexport Exports (an importable) list of installed appshelp Show help for a commandhold Hold an app to disable updateshome Opens the app homepageinfo Display information about an appinstall Install appslist List installed appsprefix Returns the path to the specified appreset Reset an app to resolve conflictssearch Search available appsstatus Show status and check for new app versionsunhold Unhold an app to enable updatesuninstall Uninstall an appupdate Update apps, or Scoop itselfvirustotal Look for app's hash on virustotal.comwhich Locate a shim/executable (similar to 'which' on Linux)Type 'scoop help <command>' to get help for a specific command.
如果想要看某个命令的具体用法使用:
scoop help <command>
比如:
$ scoop help bucketUsage: scoop bucket add|list|known|rm [<args>]Add, list or remove buckets.Buckets are repositories of apps available to install. Scoop comes witha default bucket, but you can also add buckets that you or others havepublished.To add a bucket:scoop bucket add <name> [<repo>]e.g.:scoop bucket add extras https://github.com/lukesampson/scoop-extras.gitSince the 'extras' bucket is known to Scoop, this can be shortened to:scoop bucket add extrasTo list all known buckets, use:scoop bucket known
其他命令
打开指定软件的主页,比如Typora:scoop home typora
