众所周知每个Linux发行版都有一个包管理器,比如Ubuntu的 apt-get
、Centos的 yum
、Arch Linux的 pacman
,那么问题来了
Windows有包管理器吗?
Windows 目前最新版的系统有一个 winget
包管理器,但是因为地域的关系,不使用魔法上基本是无法使用的。并且 winget
命令行工具仅在 Windows 10 1709(版本 16299)或更高版本上受支持。
那么有还有其他第三方包管理器吗?
当然有!还不止一个,下面我们着重讲一讲 chocolatey
包管理器的安装及使用方法
关于 chocolatey
Chocolatey 是一款Windows下的软件管理解决方案,装上它,你就能像在ubuntu中使用像 apt-get
命令来获取软件一样方便,这样你就能使用 PowerShell 创建一个软件部署包,然后你可以将它部署到任何你有 Windows 的任何地方(如 Puppet、SCCM、Altiris、Connectwise Automate 等)。
- 官方网址:
https://chocolatey.org/
安装要求
Chocolatey安装要求如下:
- Windows 7+ / Windows Server 2003+
- PowerShell v2+(虽然还不是 PowerShell Core)(由于TLS 1.2 要求,从Chocolatey网站安装的最低版本是 v3 )
- .NET Framework 4+(如果您没有安装 .NET 4.0,安装将尝试安装)(由于TLS 1.2 要求,从Chocolatey 网站安装的最低版本为 4.5 )
CMD安装
以管理员权限启动 CMD
终端,输入下列命令:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
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'))
稍等片刻后就能安装完毕
命令参数
我们通过 choco help
命令可以获取详细的命令参数
search - 搜索远程或本地包(列表的别名)
list - 列出远程或本地包
find - 搜索远程或本地包(搜索的别名)
info - 检索包裹信息。choco search pkgname --exact --verbose 的简写
install - 从各种来源安装软件包
pin - 禁止升级包
outdated - 检索过时的包。类似于 upgrade all --noop
upgrade - 从各种来源升级软件包
uninstall- 卸载一个包
pack - 将 nuspec、脚本和其他 Chocolatey 包资源打包到一个 nupkg 文件中
push - 将已编译的 nupkg 推送到源
new - 从模板生成巧克力包所需的文件
source - 查看和配置默认来源
sources - 查看和配置默认来源(来源的别名)
config - 检索和配置配置文件设置
feture - 查看和配置 choco 功能
features - 查看和配置 choco 功能(功能的别名)
setapikey - 检索、保存或删除特定源的 apikey(apikey 的别名)
apikey - 检索、保存或删除特定源的 apikey
unpackself - 重新安装 Chocolatey 基础文件
support - 提供支持信息
help - 显示 choco 的顶级帮助信息
export - 当前安装的包的导出列表
template - 获取有关已安装模板的信息
templates - 获取有关已安装模板的信息(模板的别名)
download - 下载包 - 可选地内部化所有远程资源
synchronize - 与系统安装的软件同步 - 生成丢失的包
sync - 与系统安装的软件同步 - 生成缺少的包
optimize - 优化安装,减少空间使用
convert - 将包从一种类型转换为另一种类型
安装软件
下面我将通过choco命令来安装 gedit Windows版,这款软件在ubuntu 中是自带的文本编辑器,非常好用。
# 搜索 gedit
choco search gedit
# 安装 gedit
choco install gedit
# 出现如下提示 请输入 Y 回车将会自动安装
Do you want to continue?([Y]es/[N]o):
稍等片刻,又提示如下信息, 输入Y执行脚本继续安装。
Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint):
显示如下图则安装成功
安装完毕后在所有应用中便可以找到并启动 gedit 编辑器了
是不是很熟悉的画面