scoop Scoop是一个 Windows 包管理工具,类似于 Debian 的 apt
、macOS 的 homebrew
。它由开源社区驱动,体验可能是是目前所有 Windows 包管理工具中最好的。对开发者来说,包管理器能非常方便的部署开发环境,比如 Python 、Node.js 。而对于像博主这样的普通的计算机使用者来说,可以方便的安装一些常用软件,尤其是开源软件,免去了手动去官网下载的繁琐步骤,而且后续对软件进行升级只需要输入一行命令,非常便捷。
官网:https://scoop.sh/
参考:
https://github.com/lukesampson/scoop/wiki
https://sspai.com/post/52496
https://chawyehsu.com/blog/talk-about-scoop-the-package-manager-for-windows-again
环境要求 1 2 3 4 Windows 7 SP1 + / Windows Server 2008+ PowerShell 5(或更高版本,包括 PowerShell Core)和 .NET Framework 4.5(或更高版本) Windows 用户名为英文(Windows 用户环境变量中路径值不支持中文字符) 正常、快速的访问 GitHub 并下载资源
安装 Scoop 若Powershell或.NET Franmework版本过旧,更新后重启即可。若不清楚版本号,可Win+R
运行powershell,输入以下命令获取版本号。
1 2 $PSVersionTable .PSVersion.Major $PSVersionTable .CLRVersion.Major
安装scoop Scoop 默认使用普通用户权限,其本体和安装的软件默认会放在 %USERPROFILE%\scoop
(即 C:\Users\用户名\scoop
),使用管理员权限进行全局安装 (-g
) 的软件在 C:\ProgramData\scoop
。如果有自定安装路径的需求,那么要提前设置好环境变量,否则后续再改不是一件容易的事情。
1 2 $ env:SCOOP='D:\Scoop' [Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
1 2 $ env:SCOOP_GLOBAL='D:\Scoop_Global' [Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')
1 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
1 iwr -useb get.scoop.sh | iex
如果下载scoop的过程中断,那么必须先删除(C:\Users\<user>\scoop)
文件夹,再执行以上命令安装。 下载完成后,输入scoop
出现如下帮助即安装成功。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Usage: scoop <command> [<args>] Some useful commands are: alias Manage scoop aliases bucket Manage Scoop buckets cache Show or clear the download cache checkup Check for potential problems cleanup Cleanup apps by removing old versions config Get or set configuration values create Create a custom app manifest depends List dependencies for an app export Exports (an importable) list of installed apps help Show help for a command hold Hold an app to disable updates home Opens the app homepage info Display information about an app install Install apps list List installed apps prefix Returns the path to the specified app reset Reset an app to resolve conflicts search Search available apps status Show status and check for new app versions unhold Unhold an app to enable updates uninstall Uninstall an app update Update apps, or Scoop itself virustotal Look for app's hash on virustotal.com which Locate a shim/executable (similar to 'which' on Linux) Type 'scoop help <command>' to get help for a specific command.
基础使用
1 2 3 4 5 6 7 8 9 10 11 scoop search <app> # 搜索软件 scoop install <app> # 安装软件 scoop info <app> # 查看软件详细信息 scoop list # 查看已安装软件 scoop uninstall <app> # 卸载软件,`-p`删除配置文件。 scoop update # 更新 scoop 本体和软件列表 scoop update <app> # 更新指定软件 scoop update * # 更新所有已安装的软件 scoop checkup # 检查 scoop 的问题并给出解决问题的建议 scoop help # 查看命令列表 scoop help <command> # 查看命令帮助说明
进阶使用 添加 bucket 所有的包管理器都会有相应的软件仓库 ,而 bucket 就是 Scoop 中的软件仓库。细心的你可能会发现 scoop
翻译为中文是 “舀”,而 bucket
是 “水桶”,所以安装软件可以理解为从水桶里舀水。
Scoop 默认软件仓库(main bucket)软件数量是有限的,但是可以进行额外的添加。通过 scoop bucket known
命令可以查看官方认可的 bucket:
1 2 3 4 5 6 7 8 9 10 11 12 $ scoop bucket known main extras versions nightlies nirsoft php nerd-fonts nonportable java games jetbrains
以上官方认可的 bucket 可以通过下面这个命令直接添加:
1 scoop bucket add <bucketname>
extras涵盖了大部分因为种种原因不能被收录进主仓库的常用软件,这个是强推荐添加的。
比如写盘工具 Rufus 就在 extras
这个仓库中。
nerd-fonts包含了美化终端时会用到的 Powerline 字体
1 scoop bucket add nerd-fonts
当添加 nerd-fonts
仓库后可以通过以下命令搜索到所有的字体:
安装字体需要使用管理员权限:
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 2 scoop install sudo sudo scoop install -g <app>
达成在 Windows 上使用sudo
的成就
使用 scoop list
命令查看已装软件时,全局安装的软件末尾会有 *global*
标志。
1 2 3 4 5 6 7 8 9 10 $ scoop list Installed apps: 7zip 19.00 ffmpeg 4.2.3 git 2.26.2.windows.1 *global* nodejs-lts 12.17.0 *global* python 3.8.3 *global* screentogif 2.24.2 [extras] sudo 0.2020.01.26
此外对于全局软件的更新和卸载等其它操作,都需要加上 -g
选项:
1 2 3 4 5 sudo scoop update -g * # 更新所有软件(且包含全局软件) sudo scoop uninstall -g <app> # 卸载全局软件 sudo scoop uninstall -gp <app> # 卸载全局软件(并删除配置文件) sudo scoop cleanup -g * # 删除所有全局软件的旧版本 sudo scoop cleanup -gk * # 删除所有全局软件的旧版本(并清除安装包包缓存)
代理设置 Scoop 默认使用的是系统代理,如果你想手动指定代理,可以输入下面的命令。需要注意的是只支持 http 协议。
1 scoop config proxy localhost:1080
设置完可以通过scoop config proxy
查看。
如果你想取消代理,那么输入下面的命令,这将会恢复使用系统代理。
开启多线程下载 使用 Scoop 安装 Aria2 后,Scoop 会自动调用 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 2 3 scoop config aria2-split 32 scoop config aria2-max-connection-per-server 16 scoop config aria2-min-split-size 1M
常用命令总结 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 # 更新 scoop 及软件包列表 scoop update # # 非全局安装(并禁止安装包缓存) scoop install -k <app> # 全局安装(并禁止安装包缓存) sudo scoop install -gk <app> # # 卸载非全局软件(并删除配置文件) scoop uninstall -p <app> # 卸载全局软件(并删除配置文件) sudo scoop uninstall -gp <app> # # 更新所有非全局软件(并禁止安装包缓存) scoop update -k * # 更新所有软件(并禁止安装包缓存) sudo scoop update -gk * # # 删除所有旧版本非全局软件(并删除软件包缓存) scoop cleanup -k * # 删除所有旧版本软件(并删除软件包缓存) sudo scoop cleanup -gk * # 清除软件包缓存 scoop cache rm *
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 2 3 4 5 6 7 8 9 10 11 12 choco install autohotkey.portable choco install nodejs.install choco install git.install choco install python choco install ruby choco install jdk8 choco install googlechrome choco install google-chrome -x64 choco install firefox choco install notepadplusplus.install choco install Atom choco install SublimeText3
Winget 官方文档:https://docs.microsoft.com/zh-cn/windows/package-manager/winget/
github:https://github.com/microsoft/winget-cli
安装
推荐法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 程序包管理器存储库的清单文件。