01 WINDOWS · GITHUB CLI

没有 winget、
没有管理员权限,
照样把 gh 装稳

Windows x64 实录:官方便携 ZIP → D:\tool\gh → 用户级 PATH。安装成功与认证成功是两条独立链路。

gh 2.94.0 便携 ZIP · 无管理员 2026-07-13 slug · githubcli
02 OUTCOME

先说结果:二进制可用,账号另走认证


2.94.0

GitHub CLI

发布日 2026-06-10
官方 Windows x64

D:\tool\gh

便携安装目录

bin\gh.exe
不写系统 Program Files

PATH

用户级永久

追加 D:\tool\gh\bin
新终端直接可用

auth

尚未登录

需 gh auth login
与安装解耦

检查环境
下载官方包
校验哈希
解压到工具目录
版本 / PATH 验证
03 WHAT

gh 把 GitHub 工作流搬进终端


适合场景

  • 仓库 / Issue / PR 脚本化
  • Actions 与 Release 自动化
  • AI Agent 可审计命令历史

典型命令

gh repo clone OWNER/REPO gh issue list gh pr create gh run list

官方来源

项目 github.com/cli/cli · 手册 cli.github.com/manual · Release v2.94.0

04 CONSTRAINTS

安装前先认清三条边界


BLOCKER A

无 gh

本机未预装 GitHub CLI。Get-Command gh 为空,必须从官方 Release 取包。

BLOCKER B

无 winget

无法走 winget install --id GitHub.cli。包管理器捷径不可用。

BLOCKER C

无管理员

会话没有“为所有用户安装”令牌。MSI 全机安装会撞上权限墙。

决策含义

标准 MSI 静默安装不是首选;优先官方 ZIP → 用户工具目录 → 用户 PATH。

05 SUPPLY CHAIN

下载只是传输结束,哈希才是证据


01

只认官方 Release

github.com/cli/cli
域名 · 版本 · 架构一致

02

双包备选

MSI 试标准安装
ZIP 保便携退路

03

记录字节数

ZIP ≈ 14.6 MB
MSI ≈ 14.9 MB

04

SHA-256 复核

Get-FileHash
摘要可复验

生产纪律

  • 下载成功 ≠ 文件正确
  • 版本号、文件名、域名、摘要一起核对
  • ZIP SHA-256 以实测记录为准
  • 忽略校验等于放弃供应链底线
06 BEFORE / AFTER

MSI 撞墙后,便携 ZIP 接管


✗ MSI 路径

退出码 1603

  • msiexec /qn 静默安装失败
  • 日志 Error 1925:缺全局安装权限
  • 1603 只是通用失败码
  • 根因在详细日志,不在猜测
✓ ZIP 路径

Expand-Archive

  • 解压到 D:\tool\gh
  • 可执行文件:bin\gh.exe
  • 不写系统程序目录
  • 匹配“当前用户长期使用”边界
07 PATH

用户级 PATH:装得上,也找得到


$ghBin = 'D:\tool\gh\bin' $current = [Environment]::GetEnvironmentVariable('Path','User') $parts = $current -split ';' | Where-Object { $_ -and $_.Trim() } if (-not ($parts | Where-Object { $_.TrimEnd('\') -ieq $ghBin.TrimEnd('\') })) { $newPath = (@($parts) + $ghBin) -join ';' [Environment]::SetEnvironmentVariable('Path',$newPath,'User') }

写入范围

仅当前用户环境变量;不影响其他 Windows 用户。

去重检查

同一路径只追加一次,避免 PATH 膨胀。

旧终端注意

已打开会话仍用旧快照;重开 PowerShell / CMD / Git Bash。

08 VERIFY

三道闸门:版本 · 帮助 · 认证状态


gh --version

实测:gh version 2.94.0 (2026-06-10)。证明二进制可启动。

gh help

输出 USAGE / CORE COMMANDS。证明命令解析正常。

gh auth status

未登录 ≠ 安装失败。需用户执行 gh auth login 走浏览器授权。

安装成功 ≠ 认证成功

本地功能与远程身份是两条独立链路,不能互相替代。

程序安装
版本/帮助
本地可用
|
账号认证
远程可协作
09 INSIGHTS

三条可复用的安装方法论


双链路

安装证明能跑;认证证明能连。远程能力另开验收项。

日志优先

1603 → 读 MSI 日志 → 定位 1925。先取证,再改方案。

边界匹配

项目本地 / 用户 PATH / 全机 MSI——按共享范围选安装面。

使用边界推荐安装面典型动作
单项目使用工作区本地项目内 tools/,易回收
当前用户长期使用工具目录 + 用户 PATH本次:D:\tool\gh
全机共享管理员 MSI有权限再走全局安装
10 PLAYBOOK

方法论速查:六段通过标准


阶段核心动作通过标准
环境识别系统 / 架构 / 命令 / 包管理器选对安装包与方式
来源确认只从官方 Release 下载域名、版本、架构一致
完整性检查字节数 + SHA-256摘要可复核
安装按权限选 MSI 或 ZIPgh.exe 存在且可启动
功能验证gh --version / gh help版本与帮助正常
身份验证gh auth status / login已登录或明确下一步
结论:2.94.0 已装到 D:\tool\gh
用户 PATH 已含 D:\tool\gh\bin
版本 / 帮助 / PATH 解析均通过
下一步:gh auth login(需用户授权)