Windows的包管理软件
结论先行
- 下载scoop、choco
- 使用scoop安装git,使用choco安装vscode,
- 安装cmake,mingw,msys2,使用scoop安装,因为choco不会默认添加环境变量
- 安装cmake,建议从msys2安装,否则不会默认寻找路径:https://blog.csdn.net/qq_45510888/article/details/136832227
- 不建议使用winget安装任何东西,使用choco需要使用管理员模式打开终端,否则没有权限
背景
Windows除了傻乎乎的打开浏览器、搜索、进入官网、找到下载链接、双击exe、点击一堆balabala、设置环境变量
以外,还有优雅的下载软件的方法,命令行yyds!
例如一个开源项目(99k star),就会提供win下多种下载方式:
下面来看看这几种方式:
chocolatey
这是因为名字好听(好吃),所以第一个讲
官网还挺多功能挺复杂的,其实也就是在powershell安装好了,使用就行
安装
这里就不展开了,powershell:
Set-ExecutionPolicy Bypass -Scope Process -Force;
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
使用体验
- 命令很方便,很简单
- 但是安装位置都在c盘,这个
以后想办法换一下
- 默认是以管理员,对于全部用户安装的
还有就是安装cmake的时候,默认不添加环境变量,有点坑,命令如下:
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'
之后RefreshEnv
就可以
scoop
安装
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
使用体验
- 默认是对于当前用户安装的
- 安装后自动添加至环境变量,这一点很赞!
如果想要改成全部用户安装,需要使用管理员模式打开ps1,运行:
irm get.scoop.sh -outfile 'install.ps1'
iex "& {$(irm get.scoop.sh)} -RunAsAdmin"
参考:https://github.com/ScoopInstaller/Install#for-admin
winget
安装
- 这个win11自带了
- win10的话,可以在微软商店下载,也可以自己去微软官网下载安装包,之后会自动集成到鼠标右键
使用体验
- 自动添加至环境变量
- 有些安装反人类,比如git,非要将名字写为
git.git
,才会认为是git,否则就会让你选择
但是使用上感觉逃不开一定的GUI,比如安装cmake,其他工具都是cli+进度条,winget就会跳出来cmake.exe那样的安装过程(打扰了,是msi后缀),让人感觉就是将一堆点击的过程省略了,但这个有保证的地方就是都是来自于微软官方
scoop和winget的区别?
您可以将 winget 视为“下载并运行安装程序的代理”。仅此而已,其他都一样。它只是调用 GUI 安装程序。所有与安装相关的事情 - 例如安装到默认位置、创建注册表项、添加二进制文件和快捷方式等都是由安装程序本身完成的,winget 不起任何作用。
勺子完全不同。它提供完全控制、提取并安装到公共(且可配置)位置、管理持久数据等。它大部分是独立的 - Scoop 目录之外的任何部分都不会被修改 - 并且它不会触及注册表和任何特定于机器的内容设置。
也就是说,由于 Scoop 处理安装的方式,与运行官方安装程序相比,某些应用程序的开箱即用体验可能有所不同。