关于 setup
用于 clickhouse-js 仓库的设置指南,面向需要运行测试、代码检查、类型检查或构建的开发者。说明依赖安装、工作区构建及按需启动 ClickHouse 的步骤。
主要功能
- 01安装仓库与示例依赖
- 02构建工作区包
- 03按需启动 Docker Compose 服务
- 04运行测试与质量检查
适用场景
- 01在新检出仓库后准备开发环境
- 02拉取 package.json 变更后重新设置
- 03运行需要 ClickHouse 服务的集成测试
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ clickhouse/ clickhouse-js --skill setup安装后在 Claude Code 中输入/setup确认已加载。
详细介绍
clickhouse-js 仓库设置
在全新检出仓库后(或拉取了涉及 package.json 文件的更改后),运行任何 npm run test:*、npm run lint、npm run typecheck 或 npm run build 脚本前,请先使用此技能。
前提条件
- 推荐使用 Node.js 22(与
.nvmrc一致)。根目录的package.json声明"engines": { "node": ">=20.19.0" },CI 会测试 Node 20、22、24 和 26。 - Docker,并安装 Compose 插件(
docker compose ...)。仅集成测试和需要连接真实服务的示例需要 Docker。
1. 安装依赖
这是一个 npm workspaces 仓库(packages/*),另有两个独立的示例包(examples/node、examples/web),它们有各自的 package.json,不属于 workspaces。
安装全部三个包:
npm install
npm --prefix examples/node install
npm --prefix examples/web install
根目录的 postinstall 脚本会修补 node_modules/parquet-wasm/package.json;它会在 npm install 过程中自动运行。
2. 构建 workspace 包
有些测试、示例和类型检查需要解析包之间的导入,因此必须先构建 workspace 包(@clickhouse/client-common、@clickhouse/client、@clickhouse/client-web):
npm run build
这会在每个 workspace 包中运行 build。
3. 启动 ClickHouse(仅用于集成测试 / 示例)
单元测试不需要服务端。集成测试(npm run test:*:integration*)和示例运行器则需要。
在仓库根目录运行:
docker compose up -d
这会同时启动单节点配置(clickhouse 使用端口 8123/9000,clickhouse_tls 使用端口 8443/9440)和双节点集群(clickhouse1、clickhouse2,以及作为轮询入口点的 nginx,使用端口 8127)。所有服务使用互不重叠的端口,因此一次 up -d 即可覆盖所有集成测试模式。
若要覆盖服务端版本,请在启动 Compose 时设置 CLICKHOUSE_VERSION;例如:CLICKHOUSE_VERSION=head docker compose up -d、CLICKHOUSE_VERSION=latest docker compose up -d,或使用明确的版本标签:CLICKHOUSE_VERSION=24.8 docker compose up -d。
4. 验证
完成上述步骤后,即可运行以下命令,例如:
npm run lint— 对每个 workspace 包运行 lintnpm run typecheck— 对每个 workspace 包运行类型检查npm run test:node:unit/npm run test:web:unit— 单元测试,无需服务端npm run test:node:integration/npm run test:web:integration— 集成测试,需要服务端- 在
examples/node或examples/web中运行:npm run lint、npm run typecheck、npm run run-examples
在仓库根目录运行 npm run,查看完整的测试脚本列表。