Chocolatey包管理器安装使用

📖 Chocolatey 初始化配置使用说明

1. 简介

此文档指导如何使用 Setup-Chocolatey.ps1 脚本来完成 Chocolatey 的安装和初始化配置。Chocolatey 是 Windows 上最流行的包管理器之一,功能与 Homebrew 类似,支持通过命令行安装、更新和卸载软件包。

  • 特点

    • 支持从官方源或第三方源安装软件。
    • 自动处理依赖关系。
    • 可用于自动化脚本和企业部署。
  • 常用命令

    powershell 复制代码
    深色版本
    choco install <package-name>      # 安装软件
    choco upgrade <package-name>      # 更新软件
    choco uninstall <package-name>    # 卸载软件
    choco search <keyword>            # 搜索软件包

2. 准备工作

所需工具:

  • Windows PowerShell
  • 文本编辑器(如记事本或 VS Code)

注意事项:

  • 确保以管理员身份运行 PowerShell,否则部分操作可能失败。
  • 网络连接正常,因为需要从互联网下载 Chocolatey 安装包。

3. 步骤一:保存脚本文件

操作步骤:

  1. 打开文本编辑器(如记事本)。
  2. 粘贴以下内容到编辑器中:
powershell 复制代码
# =============================
# Chocolatey 安装与初始化配置脚本
# =============================

# 绕过执行策略限制(确保脚本能运行)
Set-ExecutionPolicy Bypass -Scope CurrentUser -Force

# 设置目标安装路径
$chocoInstallPath = "D:\Chocolatey"

# 启用 TLS 1.2(确保能正常访问 HTTPS 资源)
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor 3072

# Step 1: 下载并运行 Chocolatey 官方安装脚本
Write-Host "⚙️ 正在下载并运行 Chocolatey 官方安装脚本..." -ForegroundColor Cyan
Set-ExecutionPolicy Bypass -Scope CurrentUser -Force
Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

# Step 2: 移动 Chocolatey 到自定义目录(原默认路径为 C:\ProgramData\chocolatey)
if (Test-Path "C:\ProgramData\chocolatey") {
    Write-Host "🚚 正在将 Chocolatey 移动到 $chocoInstallPath ..." -ForegroundColor Cyan
    Move-Item -Path "C:\ProgramData\chocolatey" -Destination $chocoInstallPath -Force
}

# Step 3: 设置 ChocolateyInstall 环境变量
Write-Host "⚙️ 设置 ChocolateyInstall 环境变量..." -ForegroundColor Cyan
[Environment]::SetEnvironmentVariable("ChocolateyInstall", $chocoInstallPath, "Machine")
$env:ChocolateyInstall = $chocoInstallPath

# Step 4: 配置 Chocolatey 使用国内镜像源(清华大学)
Write-Host "⚙️ 正在配置 Chocolatey 使用国内镜像源(清华大学)..." -ForegroundColor Cyan
choco source add -n=china -s="https://mirrors.tuna.tsinghua.edu.cn/Chocolatey"
choco config set -name="'sourcePriority'` -value="'china'"

# Step 5: 将 choco.exe 所在目录添加到系统 PATH
Write-Host "⚙️ 配置系统 PATH 环境变量..." -ForegroundColor Cyan
$systemPath = [Environment]::GetEnvironmentVariable("Path", "Machine")
if ($systemPath -notlike "*$chocoInstallPath\bin*") {
    $newSystemPath = "$systemPath;$chocoInstallPath\bin"
    [Environment]::SetEnvironmentVariable("Path", $newSystemPath, "Machine")
    Write-Host "✅ 已将 Chocolatey 添加到系统 PATH。" -ForegroundColor Green
} else {
    Write-Host "ℹ️ Chocolatey 已存在于系统 PATH 中。" -ForegroundColor Yellow
}

# Step 6: 创建或更新 PowerShell 用户配置文件以启用 Tab 补全
Write-Host "⚙️ 配置 PowerShell Tab 补全支持..." -ForegroundColor Cyan
$profileDir = "$env:USERPROFILE\Documents\WindowsPowerShell"
$profileFile = "$profileDir\Microsoft.PowerShell_profile.ps1"

if (-not (Test-Path $profileDir)) {
    New-Item -ItemType Directory -Path $profileDir -Force | Out-Null
}

if (-not (Test-Path $profileFile)) {
    New-Item -ItemType File -Path $profileFile -Force | Out-Null
    Add-Content -Path $profileFile -Value "Import-Module `$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
    Write-Host "✅ 已创建 PowerShell 配置文件并启用 Tab 补全。" -ForegroundColor Green
} else {
    if ((Get-Content $profileFile) -notcontains "Import-Module `$env:ChocolateyInstall\helpers\chocolateyProfile.psm1") {
        Add-Content -Path $profileFile -Value "Import-Module `$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
        Write-Host "✅ 已更新 PowerShell 配置文件并启用 Tab 补全。" -ForegroundColor Green
    } else {
        Write-Host "ℹ️ PowerShell 配置文件已包含 Chocolatey 补全模块。" -ForegroundColor Yellow
    }
}

# Step 7: 启用 Chocolatey 常用功能
Write-Host "⚙️ 正在启用 Chocolatey 支持的功能..." -ForegroundColor Cyan
choco feature enable -n=allowGlobalConfirmation

# 提示用户重启 PowerShell
Write-Host "`n✅ 所有设置已完成。请关闭并重新打开 PowerShell 窗口使更改生效。" -ForegroundColor Green
Write-Host '💡 你现在可以使用 choco 命令安装软件包,例如:' -ForegroundColor Cyan
Write-Host '   choco install git -y' -ForegroundColor Yellow
  1. 保存文件Setup-Chocolatey.ps1(注意后缀是 .ps1)。
  2. 注意:在记事本中,"UTF-8"实际上就是 UTF-8 with BOM,适合 PowerShell 使用。

4. 步骤二:以管理员身份运行 PowerShell

操作步骤:

  1. 右键点击 开始菜单中的 Windows 终端PowerShell 图标。
  2. 选择"以管理员身份运行"

5. 步骤三:运行初始化配置脚本

操作步骤:

  1. 管理员权限的 PowerShell 窗口中,导航到保存 Setup-Chocolatey.ps1 文件的目录。例如,如果你将脚本保存在 D:\Scripts 目录下:

    powershell 复制代码
    cd D:\Scripts
  2. 运行脚本:

    powershell 复制代码
    .\Setup-Chocolatey.ps1

脚本执行结果:

  • 成功后会提示你所有设置已完成,并建议你重新启动 PowerShell 窗口。

6. 步骤四:验证安装与配置

操作步骤:

  1. 关闭并重新打开 PowerShell(确保新窗口是以管理员身份运行)。

  2. 验证 Chocolatey 版本

    powershell 复制代码
    choco -v

    输出应类似于 2.4.3

  3. 验证 Chocolatey 安装路径

    powershell 复制代码
    echo $env:ChocolateyInstall

    输出应为 D:\Chocolatey

  4. 检查 PATH 是否包含 D:\Chocolatey\bin

    powershell 复制代码
    $env:Path -split ';' | Select-String 'D:\\Chocolatey\\bin'

    如果输出包含 D:\Chocolatey\bin,则表示路径设置成功。


7. 常见问题解答

Q1: 运行脚本时出现错误:"无法加载文件...未签名"

  • 解决方法 :你需要允许脚本执行。在 PowerShell 中输入以下命令:

    powershell 复制代码
    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Q2: 运行 choco 命令报错

  • 原因:可能是 PATH 环境变量未正确设置。
  • 解决方法 :手动检查并添加 D:\Chocolatey\bin 到系统 PATH。

Q3: PowerShell 无法识别 choco 命令

  • 原因:可能是因为终端没有刷新环境变量。

  • 解决方法 :关闭并重新打开 PowerShell 窗口,或者手动刷新 PATH:

    powershell 复制代码
    $env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")

希望这份文档能帮助你顺利完成 Chocolatey 的安装和配置。如果有任何问题,请随时提问! 😊

相关推荐
LZQqqqqo11 分钟前
C# 中 ArrayList动态数组、List<T>列表与 Dictionary<T Key, T Value>字典的深度对比
windows·c#·list
季春二九12 分钟前
Windows 11 首次开机引导(OOBE 阶段)跳过登录微软账户,创建本地账户
windows·microsoft
芥子沫1 小时前
Jenkins常见问题及解决方法
windows·https·jenkins
cpsvps_net18 小时前
美国服务器环境下Windows容器工作负载智能弹性伸缩
windows
甄超锋18 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
cpsvps21 小时前
美国服务器环境下Windows容器工作负载基于指标的自动扩缩
windows
网硕互联的小客服1 天前
Apache 如何支持SHTML(SSI)的配置方法
运维·服务器·网络·windows·php
etcix1 天前
implement copy file content to clipboard on Windows
windows·stm32·单片机
许泽宇的技术分享1 天前
Windows MCP.Net:基于.NET的Windows桌面自动化MCP服务器深度解析
windows·自动化·.net
非凡ghost1 天前
AMS PhotoMaster:全方位提升你的照片编辑体验
windows·学习·信息可视化·软件需求