前言
Chocolatey 是一款专为 Windows 系统开发的、基于 NuGet 的包管理器工具,类似于 Node.js 的 npm,MacOS 的 brew,Ubuntu 的 apt-get,它简称为 choco。Chocolatey 的设计目标是成为一个去中心化的框架,便于开发者按需快速安装应用程序和工具。
Chocolatey 的官网: https://chocolatey.org/
安装
Command Prompt
代码语言:shell复制@"%SystemRoot%System32WindowsPowerShellv1.0powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%chocolateybin"
PowerShell
代码语言:shell复制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'))
或者
代码语言:shell复制Set-ExecutionPolicy RemoteSigned
iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex
必须以管理员权限打开Command Prompt或PowerShell
检测安装是否成功
在终端执行choco或者choco -?检测是否安装成功
用法
基本命令
代码语言:shell复制choco search <keyword> # 搜索 <keyword> 包
choco list <keyword> # 列出 <keyword> 包
choco install <package1 package2 ...> # 安装 <package1,package2 ...> 包
choco install <package> -version *** # 安装 <package> 的指定版本
choco uninstall <package> # 卸载 <package> 包
choco version <package> # 查看 <package> 包的版本情况
choco upgrade <package> # 更新 <package> 包
choco pin <package> # 固定 <package> 包的版本,防止被升级
常用命令命令
代码语言:shell复制列出本地已安装的包
choco list -local-only
# 或
choco list -lo
代码语言:shell复制列出 Windows 系统已安装的软件
choco list -li
# 或
choco list -lai
代码语言:shell复制升级所有已安装的包
choco upgrade all -y
包类型简介
Chocolatey 的包有不同的类型,有些包的名字里面会包含特殊的后缀,比如 .install ,.commandline,.portable ,有些包的名字不带这些后缀。
- 无后缀(例:nodejs,git)
- .install (例:nodejs.install,git.install)
- .install 后缀的包,这个包会出现在系统控制面板里的 卸载或更改程序 里面,你可以把 .install 的包想成是通过安装程序(msi)安装的包。
- .commandline(例:nodejs.commandline,未来会被抛弃)
- .commandline(未来会被抛弃) 与 .portable 后缀的包是压缩包(zip),安装这种后缀的包,你不能在 卸载或更改程序 里找到它们。
- .portable (例:putty.portable)
你也可以选择不带后缀的包,这样如果系统中已经安装了这个包,就会跳过去,如果没安装,Chocolatey 就会为你安装一个,默认安装的这个包的类型应该就是 .install 后缀的包。
软件包的推荐顺序: 无后缀 > .install > .portable > .commandline