https://github.com/ScoopInstaller/Scoop
正如作者所说,灵感来自 Homebrew 和 Sub。完全可以把 Scoop 看成是 Windows 的 Homebrew。
https://github.com/ScoopInstaller/Scoop/wiki
相关的介绍文章,在网上其实有很多,比如少数派也写过几篇。不过很多文章的年代比较久远,很多当时反映的问题已经得到解决。下面这篇是相对较新的了。
https://zhuanlan.zhihu.com/p/463284082
Quick Start
https://github.com/ScoopInstaller/Scoop/wiki/Quick-Start
首先用管理员模式运行 PowerShell。
1 | Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser |
然后关闭 PowerShell,再用普通模式运行 PowerShell。
国内镜像优化库。
https://gitee.com/scoop-installer/scoop
1 | Invoke-WebRequest -UseBasicParsing scoop.201704.xyz | Invoke-Expression |
如果还没安装 Git,在进行比如更新和添加仓库等操作的时候,Scoop 会提示说要先安装 Git。
1 | scoop install git |
安装 Git 的时候,如果还没安装 7-Zip,Scoop 一般会给你先安装 7-Zip。当然也可以自己操作,这样也方便记得可以添加右键菜单。
1 | scoop install 7zip |
具体见后。
关于 Git 的相关配置,见后文的说明。
下面的操作是针对已经安装了 Scoop 的情况。用于换源。
1 | scoop config SCOOP_REPO "https://gitee.com/scoop-installer/scoop" |
Commands
https://github.com/ScoopInstaller/Scoop/wiki/Commands
1 | scoop help |
1 | scoop search <query> |
一个好的习惯是,在install
之前,先用search
搜索一下,确认所需安装的软件包。
此处不建议在一行命令中一次安装多个软件包。一些软件包在安装后,会给出提示进行后续操作,主要是添加注册表,以便添加右键菜单或者其他功能,可以根据需要,运行他所提示的相关命令。
1 | scoop install <app> [options] |
1 | scoop update <app> [options] |
scoop update
用于将 Scoop 自身更新到最新版本。scoop update <app>
用于更新指定软件包。
1 | scoop status |
用于检查软件包的状态,比如是否正常安装,是否有需要更新的。建议在使用status
之前,先用update
更新仓库。
1 | scoop cache show|rm [app(s)] |
清理缓存。
1 | scoop cleanup <app> [options] |
通过移除旧版本来清理软件包。
1 | scoop info <app> [options] |
用于查看特定软件的信息,包括版本,所在仓库,二进制文件,环境,注意事项等。
Buckets
https://github.com/ScoopInstaller/Scoop/wiki/Buckets
仓库。
1 | scoop bucket known |
后文的安装操作,默认用户已经添加了以下这些仓库。
1 | scoop bucket add extras |
关于软件包能收录到 main 仓库的标准,可以看这篇。
https://github.com/ScoopInstaller/Scoop/wiki/Criteria-for-including-apps-in-the-main-bucket
列表
以下是自己安装使用的一部分软件包,也仅仅是一小部分。并且会把相关的关键词给出,便于检索。
实际上,在 main 仓库中已经有一千多个软件包,在 extra 仓库中有两千多个软件包,开发相关的包基本是有了。不用担心版本的事情,总体上版本也是和官方同步一致的。
然而,也不是所有在 Scoop 上能安装的软件包都推荐用 Scoop 安装的。
有一类是需要用管理员模式才能安装的软件包。这种包他安装之后还会添加到控制面板中的程序列表里面,比如openvpn
。虽然用scoop uninstall
卸载之后,相应的程序列表中一般也会删除该项,然而终究不是那么合适。既然都用管理员模式才能安装了,意味着需要操作到系统内部的事情。真不如直接从官网下载直接安装。
另一类是东西不全放在scoop
目录,而是还会在其他地方放东西的。比如qq-nt
,他的Tencent Files
文件夹还是放在%USERPROFILE%\Documents
目录下。即使scoop uninstall
卸载了,东西还是会在那。在还没做到 Scoop 标准化之前,这类软件也还是在官网安装得了。
此处额外鞭尸 Format Factory 格式工厂。Scoop 上的format-factory
版本很落后,很久没更新了。格式工厂官网原本的下载渠道存在问题,已经换成了下面这个。
https://softmany.com/formatfactory-windows/
7-Zip
1 | scoop install 7zip |
有 GUI 的。
安装后应该是会提示说可以添加右键菜单,可以根据需要,运行相应的命令。
Git
1 | scoop install git |
安装完成之后,会提示说可以添加右键菜单,可以根据需要,运行相应的命令。
相比于直接运行 Git for Windows 的安装程序,在安装的时候设置换行符,默认分支名等内容,使用 Scoop 安装的 Git,记得自行设置好。
1 | git config --global core.autocrlf input |
1 | git config --global init.defaultBranch main |
如果忘了设置默认分支名,在 Git Bash 中,初次初始化仓库的时候,会提示相关操作,可以进行修改。
1 | git config --global user.name "Your Name" |
Visual Studio Code
1 | scoop install vscode |
安装完成之后,会提示说可以添加右键菜单,可以根据需要,运行相应的命令。
可以设置 VS Code 作为默认的 Git 合并和比较工具。
1 | git config --global merge.tool vscode |
MinGW-w64
C++ 相关。
1 | scoop install mingw |
这是我见过最方便的,在 Windows 上使用 VS Code 搭建 C++ 开发环境的方式。
请不要按照网上一些文章的说法去安装gcc
,gdb
之类的。请直接安装mingw
,这样 VS Code 才能方便直接识别,运行 C++ 文件。
CMake
1 | scoop install cmake |
有 GUI 的。
Python
1 | scoop search python |
根据需要,安装所需的版本。
可以管理多个 Python 版本。要使用哪个版本就reset
到哪个版本。
1 | scoop reset python311 |
虽然 Scoop 是可以安装 pyenv 的,但是此处反而不推荐安装 pyenv。经过测试,如果之前没有安装过 pyenv for Windows,或者是删除掉之后,包括把环境变量等内容都删除干净了,再在 Scoop 安装 pyenv,那在当使用这个 pyenv 安装所需的 Python 版本的时候,会遇到安装失败的问题。
1 | :: [Info] :: Mirror: https://www.python.org/ftp/python |
https://github.com/pyenv-win/pyenv-win/issues/449
https://pyenv-win.github.io/pyenv-win/
而如果之前是安装过 pyenv for Windows,删除掉他之后,在删除用户环境变量的时候,删除PATH
变量中的相关值,但保留PYENV_ROOT
等变量不去改动,然后再用 scoop 安装 pyenv,那么再去安装所需 Python 版本的时候就不会有之前所说的问题。
所以如果非得在 Scoop 安装并使用 pyenv,如果遇到之前的问题了,一个解决办法就是先按照 pyenv for Windows 官网的方式安装 pyenv,然后按照之前的方式卸载,保留一部分环境变量,再在 Scoop 安装 pyenv,来处理。然而这样子一看就显得各种操作非常多余。
所以干脆不用 pyenv 了,直接用 scoop 管理 Python 版本。
Java
JDK
Java Development Kit
https://github.com/ScoopInstaller/Java/wiki
1 | scoop search jdk |
根据需要,安装所需的 JDK 版本。
可以管理多个 JDK 版本。
1 | scoop reset openjdk17 |
这也是我见过的最方便的,在 Windows 下,管理和切换不同的 JDK 版本的方式。
Maven
1 | scoop install maven |
JetBrains Toolbox
IntelliJ IDEA
1 | scoop install jetbrains-toolbox |
有 JetBrains Toolbox 了感觉就不用再单独安装 IDEA 了。
1 | scoop search idea |
Node.js
1 | scoop search nodejs |
可以用 Scoop 管理 Node.js 版本。当然直接用 Scoop 安装 nvm 来管理更方便。
1 | scoop install nvm |
Microsoft .NET SDK
1 | scoop search dotnet |
根据需要,安装所需的 dotnet-sdk 版本。
MiKTeX
LaTeX
1 | scoop install miktex |
此处注意,由于历史原因,在 Scoop 上的latex
是miktex
的别名。如果运行scoop install latex
其实就是安装miktex
,但是不推荐使用这个命令安装,依然还是直接安装miktex
即可。
这里注意,需要再安装perl
。这里安装完miktex
之后并不会给出提示说安装perl
,但是在之后编译 tex 文件,在需要下载宏包的时候,是需要用到perl
的,如果不安装会报错。我也是在报错信息中看到找不到perl
,然后再去安装的。
有 GUI 的。
Clash Verge Rev
1 | scoop install clash-verge-rev |
v2rayN
1 | scoop install v2rayn |
需要安装运行所需要的 .NET 版本。大版本号需要符合。可以用 Scoop 安装。
scoop-completion
用于自动补全 Scoop 命令。
1 | scoop install scoop-completion |
其中的 Note 内容已经过时,不建议按照里面的方式来操作。建议看在 GitHub 仓库的README.md
中的说明。
https://github.com/Moeologist/scoop-completion
相关命令如下。可以添加到$PROFILE
中,使得 PowerShell 启动时自动加载。
1 | Import-Module "$($(Get-Item $(Get-Command scoop.ps1).Path).Directory.Parent.FullName)\modules\scoop-completion" |
Pandoc
1 | scoop install pandoc |
Typora
1 | scoop search typora |
显然是有 GUI 的。
选择所需版本安装。
Zotero
1 | scoop install zotero |
显然是有 GUI 的。
PowerToys
1 | scoop install powertoys |
有 GUI 的。
VLC media player
1 | scoop install vlc |
显然是有 GUI 的。
Chrome
以及 Chromium。
1 | scoop search chrome |
显然是有 GUI 的。
如果是用 Python 的 Selenium 包进行自动化测试,那么就不需要再去安装 Microsoft Edge WebDriver,ChromeDriver,geckodriver 这些了,虽然这些用 Scoop 能安装。目前版本的 Selenium 除了检测电脑是否有相应的 WebDriver 之外,还能够自动下载这些 WebDriver 到他的缓存里。甚至连 Firefox 都不用安装了,他也会自动帮你下载。上述这些,他下载缓存的位置在~/.cache/selenium
。
对于 Firefox,他同样会自动给你安装。而 geckodriver 如果一直没下载下来的话,需要开梯子。
对于 Chrome,安装完 Chrome 之后记得重启电脑。用户环境变量会添加CHROME_EXECUTABLE
值,但是需要重启电脑之后,Python 才能获取到该值。
Qt
Qt Creator
1 | scoop install qt-creator |
使用 aqtinstall 来安装所需的 Qt 版本。
在 Qt Creator 的菜单栏,编辑-首选项-构建套件,添加所安装的 Qt 版本,然后添加构建套件。构建套件一般需要自己命名,比如Desktop Qt 6.8.0 MinGW 64bit
。
Postman
1 | scoop install postman |
显然是有 GUI 的。
InfluxDB
1 | scoop install influxdb |
使用时,单开一个 PowerShell 窗口,运行influxd
。
Rust
rustup
1 | scoop install rustup |
如果使用scoop search rust
,会看到除了rustup
之外,还有rust-msvc
之类。个人很不推荐安装rust
,而是安装rustup
,要么就是rust-msvc
。之前试过安装rust
,结果在提取 msi 文件的时候一直卡着,有些抽象。
https://www.zhihu.com/question/430812048/answer/2563925095
需要用到 MSVC 工具链。相比于完整安装 Visual Studio,这里更推荐安装 Microsoft C++ Build Tools 即可,即 Microsoft C++ 生成工具。
1 | This package defaults to using the MSVC toolchain in new installs; use "rustup set default-host" to configure it |
Vcpkg
1 | scoop install vcpkg |
说些什么吧!