5分钟上手 prek
本指南将帮助你在5分钟内安装prek并运行第一个代码提交前检查
环境要求
支持的操作系统
运行环境
操作步骤
安装 prek
选择适合你操作系统的安装方式。这里推荐使用独立安装脚本(Linux/macOS)或PyPI安装
# Linux/macOS 使用独立安装脚本
curl -fsSL https://github.com/j178/prek/raw/main/install.sh | sh
# 或者使用PyPI安装(推荐使用uv)
uv pip install prek
# Windows PowerShell
irm https://github.com/j178/prek/raw/main/install.ps1 | iex
预期结果:安装完成后,终端会显示安装成功信息
如果遇到权限问题,可以尝试使用sudo(Linux/macOS)或以管理员身份运行(Windows)
验证安装
检查prek是否正确安装
prek --version
预期结果:显示prek版本号,例如:prek 0.1.0
如果命令未找到,请确保prek已添加到系统PATH环境变量中
创建配置文件
在项目根目录创建.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完全兼容
运行prek检查
首次运行会自动安装钩子工具,然后检查所有文件
prek run --all-files
预期结果:显示钩子安装进度,然后运行检查并显示结果
首次运行会下载钩子仓库和工具链,可能需要一些时间
安装Git钩子
将prek设置为Git提交前钩子,这样每次git commit时都会自动运行检查
prek install
预期结果:显示成功安装钩子的信息
安装后,每次执行git commit时都会自动运行prek检查
验证成功
完成以下操作确认prek已正确配置
快速提示
使用 prek run 检查特定文件:prek run --files 文件名1 文件名2
跳过检查:git commit --no-verify 或设置 SKIP=钩子ID git commit
prek完全兼容pre-commit配置,无需修改现有配置文件
使用 prek autoupdate 更新钩子到最新版本
常见问题
prek: command not found
确保prek已正确安装并添加到PATH环境变量,或使用完整路径运行
钩子安装失败或超时
检查网络连接,或尝试设置国内镜像源,使用 --verbose 查看详细错误
Git钩子未触发
确认在正确的Git仓库中运行 prek install,检查.git/hooks/pre-commit文件是否存在
与现有pre-commit冲突
卸载原有pre-commit:pre-commit uninstall,然后重新安装prek
下一步
探索更多钩子
查看pre-commit-hooks仓库或其他钩子仓库,添加更多检查
配置并行运行
在配置文件中设置priority字段,让多个钩子并行运行提高速度
集成到CI/CD
将prek集成到GitHub Actions或其他CI/CD流程中
查看高级功能
了解monorepo支持、uv集成、内置钩子等高级功能
相关项目推荐
rust-lang/rust
让每个人都能构建可靠高效的软件
rustdesk/rustdesk
一款专为自建远程访问需求设计的开源远程桌面应用程序,可作为TeamViewer的替代方案。
denoland/deno
面向 JavaScript 与 TypeScript 的现代化运行时
tauri-apps/tauri
通过 Web 前端构建更小、更快、更安全的桌面与移动应用程序
astral-sh/uv
基于Rust开发的极速Python包和项目管理器
zed-industries/zed
以思维速度编码——Zed 是由 Atom 和 Tree-sitter 的创作者打造的高性能多人协作代码编辑器。