scoop
Scoop是一个 Windows 包管理工具,类似于 Debian 的 apt
、macOS 的 homebrew
。它由开源社区驱动,体验可能是是目前所有 Windows 包管理工具中最好的。对开发者来说,包管理器能非常方便的部署开发环境,比如 Python 、Node.js 。而对于像博主这样的普通的计算机使用者来说,可以方便的安装一些常用软件,尤其是开源软件,免去了手动去官网下载的繁琐步骤,而且后续对软件进行升级只需要输入一行命令,非常便捷。
参考:
https://github.com/lukesampson/scoop/wiki
https://chawyehsu.com/blog/talk-about-scoop-the-package-manager-for-windows-again
环境要求
1 | Windows 7 SP1 + / Windows Server 2008+ |
安装 Scoop 若Powershell或.NET Franmework版本过旧,更新后重启即可。若不清楚版本号,可Win+R
运行powershell,输入以下命令获取版本号。
1 | $PSVersionTable.PSVersion.Major #查看Powershell版本 |
安装scoop
Scoop 默认使用普通用户权限,其本体和安装的软件默认会放在 %USERPROFILE%\scoop
(即 C:\Users\用户名\scoop
),使用管理员权限进行全局安装 (-g
) 的软件在 C:\ProgramData\scoop
。如果有自定安装路径的需求,那么要提前设置好环境变量,否则后续再改不是一件容易的事情。
- 打开 PowerShell
- 设置用户安装路径
1 | env:SCOOP='D:\Scoop' |
- 设置全局安装路径(需要管理员权限)
1 | env:SCOOP_GLOBAL='D:\Scoop_Global' |
- 设置允许 PowerShell 执行本地脚本
1 | Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser |
- 没安装过 Git 则需要安装。
1 | scoop install git |
- 安装 Scoop
1 | iwr -useb get.scoop.sh | iex |
如果下载scoop的过程中断,那么必须先删除(C:\Users\<user>\scoop)
文件夹,再执行以上命令安装。
下载完成后,输入scoop
出现如下帮助即安装成功。
1 | Usage: scoop <command> [<args>] |
基础使用
- 命令列表
1 | scoop search <app> # 搜索软件 |
进阶使用
添加 bucket
所有的包管理器都会有相应的软件仓库 ,而 bucket 就是 Scoop 中的软件仓库。细心的你可能会发现 scoop
翻译为中文是 “舀”,而 bucket
是 “水桶”,所以安装软件可以理解为从水桶里舀水。
Scoop 默认软件仓库(main bucket)软件数量是有限的,但是可以进行额外的添加。通过 scoop bucket known
命令可以查看官方认可的 bucket:
1 | scoop bucket known |
以上官方认可的 bucket 可以通过下面这个命令直接添加:
1 | scoop bucket add <bucketname> |
extras涵盖了大部分因为种种原因不能被收录进主仓库的常用软件,这个是强推荐添加的。
1 | scoop bucket add extras |
比如写盘工具 Rufus 就在 extras
这个仓库中。
1 | scoop install rufus |
nerd-fonts包含了美化终端时会用到的 Powerline 字体
1 | scoop bucket add nerd-fonts |
当添加 nerd-fonts
仓库后可以通过以下命令搜索到所有的字体:
1 | scoop search "-NF" |
安装字体需要使用管理员权限:
1 | sudo scoop install FiraCode-NF |
第三方 bucket
添加第三方 bucket
1 | scoop bucket add <bucketname> https://github.com/xxx/xxx |
从第三方 bucket 中安装软件
1 | scoop install <bucketname>/<app> |
清理安装包缓存
Scoop 会保留下载的安装包,对于卸载后又想再安装的情况,不需要重复下载。但长期累积会占用大量的磁盘空间,如果用不到就成了垃圾。这时可以使用 scoop cache
命令来清理。
scoop cache show
- 显示安装包缓存scoop cache rm <app>
- 删除指定应用的安装包缓存scoop cache rm *
- 删除所有的安装包缓存
如果你不希望安装和更新软件时保留安装包缓存,可以加上 -k
或 --no-cache
选项来禁用缓存:
scoop install -k <app>
scoop update -k *
删除旧版本软件
当软件被更新后 Scoop 还会保留软件的旧版本,更新软件后可以通过 scoop cleanup
命令进行删除。
scoop cleanup <app>
- 删除指定软件的旧版本scoop cleanup *
- 删除所有软件的旧版本
与安装软件一样,删除旧版本软件的同时也可以清理安装包缓存,同样是加上 -k
选项。
scoop cleanup -k <app>
- 删除指定软件的旧版本并清除安装包缓存scoop cleanup -k *
- 删除所有软件的旧版本并清除安装包缓存
全局安装
全局安装就是给系统中的所有用户都安装,且环境变量是系统变量,对于需要设置系统变量的一些软件就需要全局安装,比如 Node.js、Python ,否则某些情况会出现无法找到命令的问题。
使用 scoop install <app>
命令加上 -g
或 --global
选项可对软件进行全局安装,全局安装需要管理员权限,所以需要提前以管理员权限运行的 PowerShell 。更简单的方式是先安装 sudo
,然后用 sudo
命令来提权执行:
1 | scoop install sudo |
达成在 Windows 上使用
sudo
的成就
使用 scoop list
命令查看已装软件时,全局安装的软件末尾会有 *global*
标志。
1 | scoop list |
此外对于全局软件的更新和卸载等其它操作,都需要加上 -g
选项:
1 | sudo scoop update -g * # 更新所有软件(且包含全局软件) |
代理设置
Scoop 默认使用的是系统代理,如果你想手动指定代理,可以输入下面的命令。需要注意的是只支持 http 协议。
1 | scoop config proxy localhost:1080 |
设置完可以通过
scoop config proxy
查看。
如果你想取消代理,那么输入下面的命令,这将会恢复使用系统代理。
1 | scoop config rm proxy |
开启多线程下载
使用 Scoop 安装 Aria2 后,Scoop 会自动调用 Aria2 进行多线程加速下载。
1 | scoop install aria2 |
使用 scoop config
命令可以对 Aria2 进行设置,比如 scoop config aria2-enabled false
可以禁止调用 Aria2 下载。以下是与 Aria2 有关的设置选项:
aria2-enabled
: 开启 Aria2 下载,默认true
aria2-retry-wait
: 重试等待秒数,默认2
aria2-split
: 单任务最大连接数,默认5
aria2-max-connection-per-server
: 单服务器最大连接数,默认5
,最大16
aria2-min-split-size
: 最小文件分片大小,默认5M
这里推荐以下优化设置,单任务最大连接数设置为 32
,单服务器最大连接数设置为 16
,最小文件分片大小设置为 1M
1 | scoop config aria2-split 32 |
常用命令总结
1 | 更新 scoop 及软件包列表 |
Chocolatey
Chocolatey是一款专为Windows系统开发的、基于NuGet的包管理器工具,类似于Node.js的npm,MacOS的 brew,Ubuntu的 apt-get,简称为 choco。
Chocolatey的设计目标是成为一个去中心化的框架,便于开发者按需快速安装应用程序和工具。
Chocolatey 官网: https://chocolatey.org/
软件源:https://community.chocolatey.org/packages
github:https://github.com/chocolatey/choco
参考:
https://guangchuangyu.github.io/cn/2018/06/chocolatey/
安装
使用以管理员权限打开PowerShell
运行 Get-ExecutionPolicy
,如果结果是 Restricted
,则运行 Set-ExecutionPolicy AllSigned
或者 Set-ExecutionPolicy Bypass -Scope Process
输入并执行如下命令:
1 | Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) |
或者
1 | iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')) |
Chocolatey的作者创建了一个短网址,包含了Chocolatey的安装脚本。嫌上面的太长的话,可以用这个:
1 | iwr https://cin.st | iex |
自定义安装位置
以上都是安装到了默认位置C:\ProgramData\Chocolatey
,如果现在其他地方安装Chocolatey的话,需要新建一个环境变量ChocolateyInstall
,值是你希望安装到的文件夹。然后手动创建这个文件夹。然后再运行上面的命令。如果已经安装了,可以再次运行安装命令,这样可以重新安装到你指定的位置。
包列表
通过官网 https://chocolatey.org/packages 可以图形界面浏览各软件包,以及安装命令
使用
- search - 搜索包
choco search something
- list - 列出包
choco list -lo
- install - 安装
choco install baretail
- pin - 固定包的版本,防止包被升级
choco pin windirstat
- upgrade - 安装包的升级
choco upgrade baretail
- uninstall - 安装包的卸载
choco uninstall baretail
更多命令可以通过 choco -help
查看
1 | choco install autohotkey.portable #安装 AutoHotkey (Portable) |
Winget
官方文档:https://docs.microsoft.com/zh-cn/windows/package-manager/winget/
github:https://github.com/microsoft/winget-cli
安装
法1:提交 WinGet 的预览体验申请,Win10 商店下载
法2:申请加入 Windows Insider,Win10 商店下载
法3:GitHub下载安装包直接安装
推荐法3,简单直接, 在 GitHub 搜索 WinGet,microsoft/winget-cli 就是该项目。在 releases 页面下载名为 Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle 的软件安装包。
使用
安装 应用安装程序 后,可以通过在命令提示符下键入 “winget” 来运行 WinGet 。最常见的使用场景之一是搜索并安装你最喜欢的工具。若要搜索某个工具,请键入 winget search \<appname>
确认你需要的工具可用后,可以通过键入 winget install \<appname>
来安装该工具。 WinGet 工具会启动安装程序,将应用程序安装在你的电脑上。
命令 | 说明 |
---|---|
hash | 为安装程序生成 SHA256 哈希。 |
help | 显示 winget 工具命令的帮助信息。 |
install | 安装指定的应用程序。 |
search | 搜索某个应用程序。 |
show | 显示指定应用程序的详细信息。 |
source | 添加、删除和更新 winget 工具访问的 Windows 程序包管理器存储库。 |
validate | 验证要提交到 Windows 程序包管理器存储库的清单文件。 |