Windows 程序包管理器 Chocolatey:一条命令装软件

介绍

Chocolatey 是一种软件管理解决方案,与您在 Windows 上经历过的任何其他事情都不一样。它着重于简单性,安全性和可伸缩性。您可以在 PowerShell 中为任何软件(不仅仅是安装程序)编写一次软件部署,然后可以使用任何可以管理系统(配置管理,端点管理等)并跟踪和管理该软件更新的解决方案,将其部署到 Windows 所在的任何位置。随着时间的推移。使用 Chocolatey 在本地,“云”中或 Docker 容器中管理软件。

简而言之呢:就是类似 Liunx 下的 apt、yum、dnf 等程序包管理器。

另外需要说明的是,Chocolatey 只是把官方下载路径封装到了 Chocolatey 中,所以下载源都是其官方路径,所以下载的一定是合法的,但是如果原软件是需要 Licence 注册的话,那么 Chocolatey 下载安装好的软件还是需要你去购买注册。不过 Chocolatey 一般还是会选用免费 Licence 可用的软件。

安装要求

  • Windows 7+ / Windows Server 2003+
  • PowerShell v2+
  • .NET Framework 4+ (the installation will attempt to install .NET 4.0 if you do not have it installed)

安装 Chocolatey

以管理员的方式打开 PowerShell

  • 右击 左下角 Windows 图标,选择 Windows PowerShell(管理员)(A)

Windows PowerShell(管理员)

PowerShell(管理员) 界面

输入安装命令安装 Chocolatey

  • 在 PowerShell 终端输入以下安装代码,后输入回车即可:
1
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

PowerShell(管理员) 界面

  • 等待安装完成(如果长时间没有反映,请尝试开启 科 学 上 网

检测是否安装成功

  • 在 PowerShell 终端输入 chocochoco -? 检测是否安装成功

Choco 安装成功

安装成功了就开始使用吧!

Choco 安装软件

以安装 nodejs 为例

查找软件包

一、利用 choco 命令查找软件包

在终端输入 choco 搜索命令:

1
choco search nodejs

Choco 命令搜索结果

二、利用网页端查找软件包

Choco 网页搜索结果

安装软件包

在 PowerShell 终端输入安装命令

1
choco install nodejs

安装命令会先下载软件包,然后再执行安装脚本,下载完成后,会询问你是否希望运行安装脚本?,输入 Y 即可。

Choco 安装 nodejs

检测 nodejs 是否安装成功,在终端输入 node -v

nodejs 安装成功

当你想要安装 python,只需要:

1
choco install python

想安装 git,只需要:

1
choco install git

想安装 java,只需要:

1
choco install java

Choco 常用命令使用

Chocolatey 的使用也很简单,使用指令如下:

1
2
3
4
5
6
7
8
9
choco search <keyword>  # 搜索软件
choco list <keyword> # 跟 search 命令功能类似
choco install <package1 package2 ...> # 安装软件
choco install <package> -version *** # 安装指定版本
choco uninstall name # 卸载软件
choco version <package> # 查看安装包的版本情况
choco upgrade <package> # 更新某个软件
choco list -localonly # 查看一下所有安装在本地的包的列表
choco list -lo # 功能同上

包的类型

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

附录