windows 系统的包管理器
windows 系统的包管理器
Jan 17, 2023
| Dec 25, 2024
1219  |  Read Time 4 min
type
status
date
slug
summary
tags
category
icon
password
AI 摘要
 
大家都听说过 linux 的 apt、yum 等,MacOS 的 homebrew,那 windows 系统的包管理器呢? windows 有没有包管理器,有的话为什么没多少人用?

什么是包管理器

包管理器又称软件包管理系统,它是在电脑中自动安装、配置、卸载和升级软件包的工具组合,在各种系统软件和应用软件的安装管理中均有广泛应用。
如果你用过 Python ,那么对 pip 一定不陌生,Python 对所有第三方库的查找、下载、安装、卸载等都可以通过 pip 来完成的。需要哪个库,pip install帮你安装;不需要了,pip uninstall一键就能卸载。简单省事、方便快捷。不少编程语言均有各自对应的包管理器,比如 Nodejs 的 npm 等。
其实在操作系统上,包管理器应用就更广泛了,尤其是 Linux 系统和 macOS 系统已经相当成熟了。比如 Ubuntu 的 apt、CentOS 的 yum、 macOS 系统下的 Homebrew 等
Windows 平台的包管理器因为 支持下载的软件包少国内下载速度慢社区不完善 等问题仍受诟病,因此使用的人数很少,以至于有些人都没听说过 windows 系统也有包管理器
Windows 系统上常见的包管理器主要有 Chocolateywinget 和 Scoop

包管理器的作用

  • 降低安装维护软件的成本
  • 避免安装大量软件造成的路径污染
  • 不必查找和安装软件的其他依赖项
  • 避免捆绑和垃圾软件
  • 彻底地卸载

Chocolatey 的安装使用

环境要求

在安装之前,必须要保证自己电脑满足以下标准:
  • Windows 7+ / Windows Server 2003+
  • PowerShell v2+
  • .NET Framework 4+

安装

右键开始菜单,选择用管理员权限打开 Windows Powershell(管理员)(A)
notion image

shell

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('<https://chocolatey.org/install.ps1>'))
Shell
等待安装完成,之后可以使用 choco -v 查看安装结果,也可以使用 choco -? 查看帮助文档

使用

Chocolatey 的默认下载地址是在C 盘,如果你想更改默认下载位置,可以通过修改电脑的环境变量来实现
  • choco list/search [应用名] 搜索应用
  • choco info [应用名] 列出应用的详细信息
  • choco install [软件包名] 显然就是来安装软件的 y 选项来默认确认安装
  • choco list/search -l 查看本地安装的所有应用
  • choco list/search [应用名] --by-id-only 只返回 id 中含有关键字的应用
  • choco uninstall [应用名] 自动卸载应用(一个或多个)
  • choco outdated检查一下哪些应用需要更新
  • choco update all 更新所有的软件 当然你也可以直接用 choco upgrade [应用名] 更新某一个软件
除了命令行界面,还有 ChocolateyGUI 图形界面以供使用

winget 的安装和使用

WinGet(Windows 程序包管理器:Windows Package Manager)是微软为 win10 开发的一款开源的软件包管理器,于 2020 年 5 月的 Microsoft Build 开发者大会上 首宣
前提:Windows 10 1709 及以上版本
当前 WinGet 支持的安装程序类型尚不多,除了 EXE、MSIX、MSI 三种之外,还能够在自定义配置后下载部分微软应用商店的程序

安装

你可以在 Github Release 下载.appxbundle格式的文件,双击打开并运行(官方 GitHub 主页Microsoft Docs 里有 WinGet 更详细配置信息)

基本使用

  • 显示简略帮助文档:winget -?(-?可选);查看特定命令的详细帮助文档:winget [<命令>] -?,如 winget install -?
  • 显示软件详细信息:winget show <包名>
  • 搜索软件:winget search <包名>
  • 安装软件:winget install <包名>

Scoop

Scoop 功能更全面、可配置性更高

下载安装

前提:
  • Windows 7 SP1+ / Windows Server 2008

安装

管理员身份运行 PowerShell,输入以下两条命令,待安装完成之后,输入 scoop 显示帮助文档即说明安装成功。

plain

Set-ExecutionPolicy RemoteSigned -scope CurrentUser iwr -useb get.scoop.sh | iex
Plain text
注:Scoop 支持利用 aria2 进行多线程下载。所以可先 scoop install aria2 下载 aria2,之后所有的下载任务就均可以调用 aria2 多线程下载来提高速度了

使用

notion image

换源

要改善 Scoop 的下载速度,详细可以参照 Scoop | Gitee 版 的说明更换下载源。换源之后的Scoop,速度提升不是一星半点儿。
  • 更换 Scoop 源

plain

scoop config SCOOP_REPO <https://gitee.com/squallliu/scoop> scoop update
Plain text
  • 更换 bucket 源

plain

scoop install git # 注意:引号里面换成自己的路径,如果是默认路径则为${Env:USERPROFILE}\\scoop\\buckets\\<bucket_name> git -C "D:\\Scoop\\buckets\\main" remote set-url origin <https://hub.fastgit.org/ScoopInstaller/Main.git> git -C "D:\\Scoop\\buckets\\extras" remote set-url origin <https://hub.fastgit.org/lukesampson>
Plain text

参考

  • devops
  • 平台的垃圾化前端单元测试框架的实现原理
    Loading...