第 1 章 · 02 各平台安装方式 本节摘要:本节把 OCR 的安装方式讲全。第 01 节用过的 只是最常用的一种;在 CI 基础镜像、无 Node.js 的服务器、或要修改 OCR 源码的场景下,你还需要知道 curl 安装脚本、GitHub Release 静态二进制、源码构建这三种方式。本节逐一介绍四种安装途径的命令、适用场景与升级/卸载,并说明 OCR 把状态文件写在哪里,帮你建立「装好之后去哪儿找配置和会话」的心智地图。 内容来源:原项目中文文档 ,套用体系化模板改写。 学习目标 阅读完本节,你应当能够: 区分 OCR 的四种安装方式,并为自己的场景选对途径。 用 curl 安装脚本在 macOS/Linux/Windows 上完成无 Node.js 的安装。
本节摘要:本节把 OCR 的安装方式讲全。第 01 节用过的
npm install -g只是最常用的一种;在 CI 基础镜像、无 Node.js 的服务器、或要修改 OCR 源码的场景下,你还需要知道 curl 安装脚本、GitHub Release 静态二进制、源码构建这三种方式。本节逐一介绍四种安装途径的命令、适用场景与升级/卸载,并说明 OCR 把状态文件写在哪里,帮你建立「装好之后去哪儿找配置和会话」的心智地图。
内容来源:原项目中文文档
pages/src/content/docs/zh/installation.md,套用体系化模板改写。
阅读完本节,你应当能够:
ocr CLI 有四种受支持的安装途径,按推荐度排序:
┌──────────────────────────────────────────────────────────────┐ │ 1. NPM(推荐) —— 一行命令,自带后台自动更新 │ │ 2. curl 安装脚本 —— CI 基础镜像 / 无界面环境 │ │ 3. GitHub Release 二进制 —— 不想装 Node.js │ │ 4. 源码构建 —— 要改 OCR 本身 / 特殊平台 │ └──────────────────────────────────────────────────────────────┘
💡 怎么选:本地开发选 NPM;CI runner 选 curl 脚本(更轻);离线服务器选 Release 二进制;贡献代码选源码构建。
npm install -g @alibaba-group/open-code-review
固定到某个版本(用于可复现的 CI):
npm install -g @alibaba-group/open-code-review@<version>
通过 NPM 安装时,ocr 默认会自动保持最新(静态二进制不参与此机制)。每次运行 ocr 时,wrapper 会在后台静默检查 registry 上的最新版本,发现更新即自动升级,不影响本次评审。两次检查之间有 18 分钟冷却,可用 OCR_UPDATE_INTERVAL(分钟)调整。
关闭自动更新,将 OCR_NO_UPDATE 设为任意非空值即可:
export OCR_NO_UPDATE=1
npm uninstall -g @alibaba-group/open-code-review
一个便捷安装器,封装了 GitHub Release 二进制下载(带校验)——适合 CI 基础镜像和无界面环境。
curl -fsSL https://raw.githubusercontent.com/alibaba/open-code-review/main/install.sh | sh
它识别两个环境变量:
| 变量 | 默认值 | 用途 |
|---|---|---|
OCR_INSTALL_DIR |
/usr/local/bin |
放置 ocr 二进制的位置。 |
OCR_VERSION |
最新 release | 固定到某个 release tag(如 v1.2.3)。 |
该脚本支持 darwin 与 linux 的 amd64 / arm64。
请改用 PowerShell 安装脚本:
irm https://raw.githubusercontent.com/alibaba/open-code-review/main/install.ps1 | iex
它同样识别 OCR_INSTALL_DIR 与 OCR_VERSION(通过 $env:OCR_INSTALL_DIR / $env:OCR_VERSION 设置)。默认安装位置为 %LOCALAPPDATA%\Programs\ocr。
💡 CI 场景:在 GitHub Actions / GitLab CI 的 runner 镜像里,用
OCR_VERSION固定版本、OCR_INSTALL_DIR指向一个已加入PATH的目录,即可得到可复现的安装。CI 集成的完整配方见第 5 章。
如果你不想装 Node.js,可直接从项目的 GitHub releases 页面获取静态二进制。各平台下载命令如下:
# macOS (Apple Silicon) curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-darwin-arm64 chmod +x ocr && sudo mv ocr /usr/local/bin/ocr # macOS (Intel) curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-darwin-amd64 chmod +x ocr && sudo mv ocr /usr/local/bin/ocr # Linux x86_64 curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-linux-amd64 chmod +x ocr && sudo mv ocr /usr/local/bin/ocr # Linux ARM64 curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-linux-arm64 chmod +x ocr && sudo mv ocr /usr/local/bin/ocr # Windows (AMD64) curl -Lo ocr.exe https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-windows-amd64.exe # Windows (ARM64) curl -Lo ocr.exe https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-windows-arm64.exe
每个 release 还会在二进制旁发布 sha256sum.txt,供你校验完整性:
curl -LO https://github.com/alibaba/open-code-review/releases/latest/download/sha256sum.txt shasum -a 256 -c sha256sum.txt --ignore-missing
⚠️ 注意:Release 二进制不参与 NPM wrapper 的自动更新机制。升级时需手动重新下载对应平台的二进制。
仅当你要修改 OCR 本身,或在某个没有预编译二进制的平台上运行时才需要此方式。
git clone https://github.com/alibaba/open-code-review.git cd open-code-review make build # 产出 dist/opencodereview sudo cp dist/opencodereview /usr/local/bin/ocr
make build-linux-amd64 make build-linux-arm64 make build-darwin-amd64 make build-darwin-arm64 make build-windows-amd64 # Windows (x86_64) make build-windows-arm64 # Windows (ARM64) make build-all # 一次性构建全部六个 make sha256sum # 同时产出 sha256sum.txt
make dist 会运行 clean → build-all → sha256sum,并在二进制旁写入一个 VERSION 文件——这正是 release 流水线执行的步骤。
make test # LC_ALL=C go test -v -race -count=1 ./...
💡 想深入参与开发(分支约定、Make target、项目结构)详见第 6 章贡献一节。
无论二进制来自哪里,都用这三条命令验证:
ocr version # 打印版本 + git commit + 构建日期 ocr --help # 顶层用法 ocr review --help # 完整的 review 命令参数列表
如果出现 command not found 错误,请确认安装位置在你的 $PATH 上:
which ocr echo $PATH
装好之后,你迟早要去找配置文件、评审会话日志。OCR 的所有状态都集中在 ~/.opencodereview/ 下:
| 路径 | 存放内容 |
|---|---|
~/.opencodereview/config.json |
LLM 端点、语言、遥测配置(由 ocr config set 管理)。 |
~/.opencodereview/rule.json |
可选的全局评审规则。 |
~/.opencodereview/sessions/<encoded-repo-path>/<session-id>.jsonl |
每次评审会话的流式 JSONL 转录,供 ocr viewer 使用。 |
~/.opencodereview/{last-update-check,update.lock,update-available} |
NPM wrapper 的后台更新检查状态。 |
<repo>/.opencodereview/rule.json |
可选的项目级评审规则——可安全提交。 |
⚠️ 注意:OCR 永远不会写入
~/.opencodereview/之外(除 NPM 临时下载二进制外)。删除该目录即可完成干净的卸载:
npm uninstall -g @alibaba-group/open-code-review # NPM install sudo rm /usr/local/bin/ocr # binary install rm -rf ~/.opencodereview # all state
OCR_NO_UPDATE=1 关闭。OCR_INSTALL_DIR 与 OCR_VERSION,macOS/Linux 走 install.sh、Windows 走 install.ps1。sha256sum.txt 校验,不参与自动更新。make build 当前平台、make build-all 交叉编译六平台、make test 跑测试。~/.opencodereview/,删它即干净卸载。ocr version / ocr --help / which ocr 三件套。安装与状态分布讲完了。接下来进入第 2 章,我们把 OCR 接受的所有配置项与 CLI 参数讲透,让你把工具调到适合自己项目的状态。