5分钟上手 prek

本指南将帮助你在5分钟内安装prek并运行第一个代码提交前检查

环境要求

支持的操作系统

macOS Windows Linux

运行环境

Git >= 2.0 必需

操作步骤

1

安装 prek

选择适合你操作系统的安装方式。这里推荐使用独立安装脚本(Linux/macOS)或PyPI安装

下载并安装prek
# Linux/macOS 使用独立安装脚本
curl -fsSL https://github.com/j178/prek/raw/main/install.sh | sh
使用uv安装prek(需要Python环境)
# 或者使用PyPI安装(推荐使用uv)
uv pip install prek
Windows系统安装命令
# Windows PowerShell
irm https://github.com/j178/prek/raw/main/install.ps1 | iex

预期结果:安装完成后,终端会显示安装成功信息

如果遇到权限问题,可以尝试使用sudo(Linux/macOS)或以管理员身份运行(Windows)

2

验证安装

检查prek是否正确安装

查看prek版本
prek --version

预期结果:显示prek版本号,例如:prek 0.1.0

如果命令未找到,请确保prek已添加到系统PATH环境变量中

3

创建配置文件

在项目根目录创建.pre-commit-config.yaml文件

创建一个简单的配置文件,包含三个常用检查
# 创建配置文件
cat > .pre-commit-config.yaml << 'EOF'
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.4.0
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer
      - id: check-yaml
EOF

预期结果:在项目根目录生成.pre-commit-config.yaml文件

如果你已有pre-commit配置文件,可以直接使用,prek完全兼容

4

运行prek检查

首次运行会自动安装钩子工具,然后检查所有文件

运行所有钩子检查所有文件
prek run --all-files

预期结果:显示钩子安装进度,然后运行检查并显示结果

首次运行会下载钩子仓库和工具链,可能需要一些时间

5

安装Git钩子

将prek设置为Git提交前钩子,这样每次git commit时都会自动运行检查

安装Git钩子
prek install

预期结果:显示成功安装钩子的信息

安装后,每次执行git commit时都会自动运行prek检查

验证成功

完成以下操作确认prek已正确配置

prek --version 显示版本号
prek run --all-files 成功运行并显示检查结果
prek install 显示钩子安装成功
执行 git commit 时自动触发prek检查

快速提示

配置

使用 prek run 检查特定文件:prek run --files 文件名1 文件名2

调试

跳过检查:git commit --no-verify 或设置 SKIP=钩子ID git commit

配置

prek完全兼容pre-commit配置,无需修改现有配置文件

性能

使用 prek autoupdate 更新钩子到最新版本

常见问题

1

prek: command not found

确保prek已正确安装并添加到PATH环境变量,或使用完整路径运行

2

钩子安装失败或超时

检查网络连接,或尝试设置国内镜像源,使用 --verbose 查看详细错误

3

Git钩子未触发

确认在正确的Git仓库中运行 prek install,检查.git/hooks/pre-commit文件是否存在

4

与现有pre-commit冲突

卸载原有pre-commit:pre-commit uninstall,然后重新安装prek

下一步

探索更多钩子

查看pre-commit-hooks仓库或其他钩子仓库,添加更多检查

配置并行运行

在配置文件中设置priority字段,让多个钩子并行运行提高速度

集成到CI/CD

将prek集成到GitHub Actions或其他CI/CD流程中

查看高级功能

了解monorepo支持、uv集成、内置钩子等高级功能

助手