Chocolatey:windows下的包管理工具

Chocolatey是一个windows下的软件管理解决方案。想象一下,你使用powerShell脚本语言写了一个软件部署的安装包,然后你可以使用它在任何windows系统中安装你的软件。Chocolatey可以用来帮我们管理软件在操作系统中的整个生命周期:安装,更新,卸载。

Chocolatey 客户端 安装与卸载

使用chocolatey客户端,至少需要以下环境:

  • Windows 7+/Windows 2003+
  • Windows PowerShell v2+
  • .NET Framework 4.x+

安装chocolatey

  1. 使用一个以管理员方式打开的shell,可以是cmd,也可以是powershell
# 使用cmd.exe安装的脚本
@"%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.exe安装的脚本
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'))
  1. 复制下面的文本到你的command shell
  2. 将复制的文本粘贴到命令行并按enter键
  3. 等待几秒钟
  4. 如果没有看到错误,就可以使用 choco命令了。输入choco命令或者choco -? 命令验证一下
PS C:\Windows\system32> choco
Chocolatey v1.2.0
Please run 'choco -?' or 'choco  -?' for help menu.

卸载chocolatey

官方的建议是直接删掉chocolatey的安装文件夹和系统变量。安装文件夹一般在这里 C:\ProgramData\chocolatey,也可以通过打印$env:ChocolateyInstall变量来查看文件位置,需要删除的系统变量有:ChocolateyInstall,ChocolateyToolsLocation,ChocolateyLastPathUpdate,另外如果PATH中有对应的变量也需要删掉。

这种手工删除的方式看上去好像不太优雅,于是官方提供了一个删除脚本,据说(根据官方提供)该脚本十分危险,它会移除chocolatey以及所有的安装包,软件和配置文件(在chocolatey的安装文件夹下面的),并且可以会摧毁系统。非专业人士请勿轻易尝试。

使用chocolatey安装、更新和卸载软件

安装软件

choco install  [ ] []

安装一个nodejs:choco install nodejs,该命令先下载安装文件,下载完了之后请求运行chocolateyInstall.ps1脚本文件,输入YES然后按回车即可完成安装。打开一个新的命令行,运行node -v,可以看到node已经安装成功了。

我们再看下nodejs的安装位置,通过查看系统环境变量,可以看到nodejs的安装位置为:C:\Program Files\nodejs\。说明choco默认将我们的软件安装在C:\Program Files下面。因为C盘是系统盘,我们不希望在系统盘里安装太多软件,可以通过在安装时指定软件安装位置:*choco install nodejs --install-directory="D:\choco-pkgs" *。此参数测试时需要choco授权才能使用。

卸载软件

choco uninstall  [pkg2 pkgN] [options/switches]

我们卸载刚才安装的nodejs:choco uninstall nodejs

更新软件

choco upgrade  [ ] []

我们来更新一下chocolatey自己:choco upgrade chocolatey

Chocolatey 其他高级用法

后面使用后再探究。。。

你可能感兴趣的:(Chocolatey:windows下的包管理工具)