Windows 程序包管理器 Chocolatey:一条命令装软件
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)
输入安装命令安装 Chocolatey
- 在 PowerShell 终端输入以下安装代码,后输入回车即可:
1 | Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) |
- 等待安装完成(如果长时间没有反映,请尝试开启 科 学 上 网)
检测是否安装成功
- 在 PowerShell 终端输入
choco
或choco -?
检测是否安装成功
安装成功了就开始使用吧!
Choco 安装软件
以安装 nodejs 为例
查找软件包
一、利用 choco 命令查找软件包
在终端输入 choco 搜索命令:
1 | choco search nodejs |
二、利用网页端查找软件包
登录 choco 软件包网站:https://chocolatey.org/packages
在搜索框搜索要安装的软件
安装软件包
在 PowerShell 终端输入安装命令
1 | choco install nodejs |
安装命令会先下载软件包,然后再执行安装脚本,下载完成后,会询问你是否希望运行安装脚本?
,输入 Y
即可。
检测 nodejs 是否安装成功,在终端输入 node -v
当你想要安装 python,只需要:
1 | choco install python |
想安装 git,只需要:
1 | choco install git |
想安装 java,只需要:
1 | choco install java |
Choco 常用命令使用
Chocolatey 的使用也很简单,使用指令如下:
1 | choco search <keyword> # 搜索软件 |
包的类型
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