优雅地使用Scoop
2025-12-26
2026-01-03

关于Scoop#

来自 Scoop 官网 简介(翻译):

Scoop 允许您通过命令行安装你熟悉和喜爱的程序,且几乎没有任何障碍:

  • 消除安装时的权限弹窗
  • 隐藏GUI向导式安装程序
  • 防止安装大量程序后对 PATH 的污染
  • 避免安装和卸载程序带来的意外残留和副作用
  • 自动查找并安装依赖项
  • 自动执行所有额外的设置步骤以确保程序可用

一句话总结:以Windows可识别的方式安装 绿色版 软件,同时支持完整的 安装/更新/卸载环境变量设置

多应用、多空间。工作生活,互不干扰,尤其适合安装各种编译依赖库。
基于“绿色版”的独立性,还可以完整备份与迁移软件数据(目录)。


安装 Scoop#

Scoop有很多的安装方式,其根本在于使用一个有完整Scoop主体的 Git 仓库作为源。这特性也让Scoop可以在不同仓库和分支间快速切换

1. 官方Scoop安装#

这里引用官方推荐的安装命令:

WARNING

(尽量) 不要 在管理员下的Powershell安装,这会将Scoop/软件全局安装(所有用户)

Terminal window
# 必须先为当前用户设置执行策略
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# 这段便是Scoop本体的安装命令
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

只需两步就能将Scoop安装在默认的系统盘下了,路径为 $env:USERPROFILE\scoop

或许你不喜欢安装在C盘。的确,通过Scoop安装的软件,实际上在任何位置都能被正确调用。
但在讲解如何更改安装盘符前,这里我要详细说说第二条安装命令到底做了什么。

或者点击这里查看安装目录更改方式。


Scoop是如何被安装的?#

这是Scoop的安装命令:

Terminal window
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
  1. Invoke-RestMethod
    用于向指定的 URI 发送 HTTP/HTTPS 请求,并将返回的 结构化数据 解析成Powershell易于处理的对象。
  2. -Uri https://get.scoop.sh
    不难看出是指定向get.scoop.sh发送请求。通过查看链接内容可知,其实际上指向了Scoop官方仓库的 master 分支下的 install.ps1,也就是Scoop的安装脚本。
  3. 管道 |:Powershell 用于将前一个命令的输出内容输入给后一个命令的标识符。
  4. Invoke-Expression
    用于将输入的字符串作为 PowerShell 代码来执行。

通过梳理可知,我们只需要获得安装Scoop的 install.ps1 ,就能对其安装过程“动手脚”。


2. 所以如何更改安装Scoop的目录?#

NOTE

限于篇幅,我这里只介绍经典安装。
参考:官方文档 | 翻译版本

经典安装(Typical Installation)#

Terminal window
irm get.scoop.sh | iex
# 如果你在访问 GitHub 时遇到网络问题,可以使用代理,例如:
irm get.scoop.sh -Proxy 'http://<ip:port>' | iex

irm = Invoke-RestMethod | iex = Invoke-Expression

由上文可知,如果需要进行自定义高级安装,必须要先下载 install.ps1 到本地。

高级安装 - 添加安装路径#

先执行以下命令将 install.ps1 下载到本地(默认为Powershell的根目录):

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

然后执行以下命令,指定 ScoopGlobalScoopApps 的安装位置:

NOTE

Scoop 安装区分 User & ALL,所以需要定义两个文件夹的安装路径。

Terminal window
# 注意更改你需要的路径
.\install.ps1 -ScoopDir 'D:\Scoop' -ScoopGlobalDir 'D:\GlobalScoopApps'

至此,Scoop 本体的安装就完成了


3. 第三方Scoop安装#

使用第三方Scoop库,主要还是针对 网络环境不好 的设备。这些库一般放在Gitee,或者在安装过程为Github域名添加了加速前缀。

1. scoop.201704.xyz#

这是我首次安装Scoop使用的库 ,所以在这里首推。

TIP

更多信息请查看仓库[Gitee]

执行以下命令即可完整安装:

Terminal window
# 脚本执行策略更改,默认自动同意
Set-ExecutionPolicy RemoteSigned -scope CurrentUser -Force
# 执行安装命令(默认安装在用户目录下,如需更改请执行“自定义安装目录”命令)
iwr -useb scoop.201704.xyz | iex
## 自定义安装目录(注意将目录修改为合适位置)
irm scoop.201704.xyz -outfile 'install.ps1'
.\install.ps1 -ScoopDir 'D:\Scoop' -ScoopGlobalDir 'D:\GlobalScoopApps'

2. scoop-cn#

这是我后来找到的另一个CN库,没有尝试过,故不展示过程。

duzyn
/
scoop-cn
Waiting for api.github.com...
00K
0K
0K
Waiting...

还有很多其他的CN库我就不介绍了~


使用Rscoop管理#

这里推荐一下来自AmarBego开发的Rscoop,以及我对其Fork后加以改进的版本:

Kwensiu
/
Rscoop
Waiting for api.github.com...
00K
0K
0K
Waiting...
AmarBego
/
Rscoop
Waiting for api.github.com...
00K
0K
0K
Waiting...

相关功能介绍我已在仓库内详细介绍。

由于只有我一个人测试,所以不能找到所有潜在的问题,非常欢迎提交Issue!

rscoop

更多内容等待更新

优雅地使用Scoop
https://kwensiu.github.io/blog/posts/how-to-use-scoop/cn/
作者
萝卜馅松饼
发布于
2025-12-26
许可协议
CC BY-NC-SA 4.0