Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

安装 cjv

本章介绍如何安装 cjv 自身。cjv 是一个单文件可执行程序,安装它不需要预先准备任何仓颉 SDK。工具链由 cjv 在安装后按需下载(见快速上手)。

共有三种安装方式:

如果网络环境无法访问 GitHub,可使用文中各方式的镜像源变体,从 GitCode 下载。

一键安装脚本

脚本会探测当前平台、下载匹配的二进制、校验 SHA-256,然后运行 cjv init 完成初始化(包括把 cjv 的 bin 目录加入 PATH)。

Linux / macOS

curl -sSf https://cjv.zxilly.dev/install.sh | sh

脚本探测不到终端时(例如纯管道执行)会以非交互方式静默安装。若检测到控制终端,cjv init 会进入交互式向导,询问安装目录、是否修改 PATH 等。把额外参数转发给 cjv init 即可跳过交互,例如用 -y 接受默认选项:

curl -sSf https://cjv.zxilly.dev/install.sh | sh -s -- -y

-s -- 之后的所有参数(除 --mirror 外)都会原样传给 cjv init,因此 --no-modify-path--default-toolchain noneinit 的选项均可在此使用。

Windows(PowerShell)

irm https://cjv.zxilly.dev/install.ps1 | iex

install.ps1 接受 -Yes(跳过确认)、-DefaultToolchain <name>(默认安装的工具链,none 表示不装)、-NoModifyPath(不修改 PATH)等参数。通过管道执行时需用脚本块形式传参:

& ([scriptblock]::Create((irm https://cjv.zxilly.dev/install.ps1))) -Yes

Windows ARM64 没有原生构建,脚本会自动改装 amd64 版本,在系统的 x64 模拟层下运行。

镜像源(GitCode)

GitHub 访问不畅时,使用镜像源从 GitCode 下载 cjv-mirror 归档:

# Linux / macOS:加 --mirror 标志
curl -sSf https://cjv.zxilly.dev/install.sh | sh -s -- --mirror
# Windows:设置 CJV_MIRROR 环境变量
$env:CJV_MIRROR = "1"; irm https://cjv.zxilly.dev/install.ps1 | iex

镜像与默认源装出的是同一个 cjv,区别仅在于下载来源以及后续 cjv self update 的更新源。镜像变体可与上面的其它参数自由组合,例如 curl -sSf https://cjv.zxilly.dev/install.sh | sh -s -- --mirror -y

下载预编译二进制

前往 Releases 页面,下载与平台匹配的归档并解压,把得到的 cjv(Windows 上为 cjv.exe)放入 PATH 中的任意目录。

归档命名规则为 cjv_<goos>_<goarch>,扩展名在 Windows 上是 .zip,其余平台是 .tar.gz

平台归档文件
Linux x86_64cjv_linux_amd64.tar.gz
Linux ARM64cjv_linux_arm64.tar.gz
macOS Apple Siliconcjv_darwin_arm64.tar.gz
macOS Intelcjv_darwin_amd64.tar.gz
Windows x86_64cjv_windows_amd64.zip

镜像源用户可从 GitCode Releases 下载对应的 cjv-mirror_<goos>_<goarch> 归档。

手动安装的二进制不会自动初始化。首次安装工具链时,cjv 会补上 PATH 配置,详见下文首次安装时的 PATH 配置

从源码编译

需要本机已安装 Go(版本要求见仓库 go.mod):

go install github.com/Zxilly/cjv/cmd/cjv@latest

二进制会被装到 $(go env GOBIN)(默认 $(go env GOPATH)/bin),请确保该目录在 PATH 中。国内网络可加上代理:

GOPROXY=https://goproxy.cn,direct go install github.com/Zxilly/cjv/cmd/cjv@latest

与手动下载二进制一样,源码安装不会自动初始化,PATH 会在首次安装工具链时配置。

首次安装时的 PATH 配置

cjv 在自己的 bin 目录(默认 ~/.cjv/bin)下放置二进制以及指向各工具链的代理符号链接(见代理)。要让 cjccjpm 等命令在终端中直接可用,这个目录必须在 PATH 中。

通过安装脚本安装时,cjv init 会立即完成 PATH 配置。通过 go install 或手动下载二进制安装时,cjv 在你首次安装工具链(如 cjv install lts)时才把 bin 目录加入 PATH

具体写入方式因平台而异。Windows 上写入用户级注册表 PATH;Linux 和 macOS 上把 PATH 追加到 shell 配置文件(如 ~/.profile~/.bashrc~/.zshenv 以及 fish 的 config)。无论哪种方式,配置都要在新开的终端里才生效;当前会话需重启或手动 source 才能识别新 PATH

跳过自动配置

把环境变量 CJV_NO_PATH_SETUP 设为 1,即可跳过这一步的 PATH 修改,适用于 CI 等不希望改动用户环境的场景:

CJV_NO_PATH_SETUP=1 cjv install lts

使用安装脚本时,Linux / macOS 传 --no-modify-path,Windows 用 -NoModifyPath。此时需手动把 bin 目录加入 PATHcjv init 也会打印出可供 sourceenv 脚本路径(Linux / macOS 为 ~/.cjv/env,Windows 为 ~/.cjv/env.ps1~/.cjv/env.bat)。

CJV_NO_PATH_SETUP 等环境变量的完整说明见环境变量

验证安装

cjv --version

能打印出版本号就说明安装成功。接下来可以安装第一个工具链,继续阅读快速上手

cjv 自身的更新用 cjv self update,卸载用 cjv self uninstall(会一并移除所有已安装的工具链)。详见命令参考