# @evilmartians/lefthook-installer 中文文档

规范地址：https://npmcn.com/package/%40evilmartians/lefthook-installer/

版本：2\.2\.2
npm 元数据更新时间：2026-10-13T09:46:39.166Z
中文译文更新时间：2026-11-14T02:11:30.157Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40evilmartians/lefthook-installer
原文对照：https://npmcn.com/package/%40evilmartians/lefthook-installer/?lang=original
项目主页：https://github.com/evilmartians/lefthook#readme
源码仓库：https://github.com/evilmartians/lefthook

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：29.7 kB，5 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2022-06-07T16:39:36.997Z
- 最新版本发布：2026-10-13T09:46:38.996Z
- 近 30 天下载量：3206（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：185（近 12 个月 31 个）

## 中文简介

简单的钩子管理器

## 安装

```sh
npm install @evilmartians/lefthook-installer
```

也可以使用：`pnpm add @evilmartians/lefthook-installer`、`yarn add @evilmartians/lefthook-installer`、`bun add @evilmartians/lefthook-installer`

## README

![Build Status](https://github.com/evilmartians/lefthook/actions/workflows/test.yml/badge.svg?branch=master) [![codecov](https://codecov.io/gh/evilmartians/lefthook/graph/badge.svg?token=d93ya8MfmB)](https://codecov.io/gh/evilmartians/lefthook)

# 左脚

![](https://npmcn.com/package/%40evilmartians/lefthook-installer/logo_sign.svg "Lefthook logo")

一个为Node.js,Ruby,Python等多类项目的Git钩子管理器.

-   **快点.** 它用"去"写,可以并行运行命令.
-   **权相相相.** 它允许控制执行和将文件传递给命令.
-   **很简单.** 它是单一的无依赖二进制,可以在任何环境中工作.

📖 [导言员额](https://evilmartians.com/chronicles/lefthook-knock-your-teams-code-back-into-shape?utm_source=lefthook)

![Evil Martians logo](https://cdn.evilmartians.com/badges/logo-no-label.svg) **左脚** 由 **[邪恶的火星人](https://evilmartians.com/)**美国的设计和工程顾问 **开发工具、AI和网络安全启动**。 。 。 .

## 安装

与 **走开** (>= 1.27):

```bash
go install github.com/evilmartians/lefthook/v2@v2.2.2
```

-   或者作为一个工具

```bash
go get -tool github.com/evilmartians/lefthook/v2@v2.2.2
```

与 **国家预防机制**数字 :

```bash
npm install lefthook --save-dev
```

对于 **鲁比**数字 :

```bash
gem install lefthook
```

对于 **蟒**数字 :

```bash
pipx install lefthook
```

**[安装指南](https://lefthook.dev/install/)** 以更多方式安装左上角 : [时间](https://lefthook.dev/installation/deb), (中文(简体) ), [酿酒](https://lefthook.dev/installation/homebrew), (中文(简体) ), [旋转](https://lefthook.dev/installation/winget)还有其他.

## 使用量

配置你的钩子,安装一次然后忘记它:依靠下面的魔法.

#### TL; DR 数据

```bash
# Configure your hooks
vim lefthook.yml

# Install them to the git project
lefthook install

# Enjoy your work with git
git add -A && git commit -m '...'
```

#### 更多细节

-   [**配置**](https://lefthook.dev/configuration/index) 页:1 `lefthook.yml` 配置选项 .
-   [**使用量**](https://lefthook.dev/usage/) 页:1 **左脚** CLI选项和特征.
-   [**讨论情况**](https://github.com/evilmartians/lefthook/discussions) 对于问题,想法,建议.

## 为什么是左撇子

-   ### **并行执行**
    

让你更快. [文档](https://lefthook.dev/configuration/parallel)

```yml
pre-push:
  parallel: true
```

-   ### **文件的灵活列表**
    

如果你想要自己的名单. [自定义](https://lefthook.dev/configuration/files) 财务报告和审定财务报表 [预建](https://lefthook.dev/configuration/run) 实例.

```yml
pre-commit:
  jobs:
    - name: lint frontend
      run: yarn eslint {staged_files}

    - name: lint backend
      run: bundle exec rubocop --force-exclusion -- {all_files}

    - name: stylelint frontend
      files: git diff --name-only HEAD @{push}
      run: yarn stylelint {files}
```

-   ### **光标和正则表达式过滤器**
    

如果您想要过滤文件列表 。 您可以找到更多 Glob 模式示例 [这里](https://github.com/gobwas/glob#example)。 。 。 .

```yml
pre-commit:
  jobs:
    - name: lint backend
      glob: "*.rb" # glob filter
      exclude:
        - "*/application.rb"
        - "*/routes.rb"
      run: bundle exec rubocop --force-exclusion -- {all_files}
```

-   ### **在子目录中执行**
    

如果您要在相对路径中执行命令

```yml
pre-commit:
  jobs:
    - name: lint backend
      root: "api/" # Careful to have only trailing slash
      glob: "*.rb" # glob filter
      run: bundle exec rubocop -- {all_files}
```

-   ### **运行脚本**
    

如果单行命令不够,可以执行文件. [文档](https://lefthook.dev/configuration/Scripts)

```yml
commit-msg:
  jobs:
    - script: "template_checker"
      runner: bash
```

-   ### **标记**
    

如果你想控制一组命令. [文档](https://lefthook.dev/configuration/tags)

```yml
pre-push:
  jobs:
    - name: audit packages
      tags:
        - frontend
        - linters
      run: yarn lint

    - name: audit gems
      tags:
        - backend
        - security
      run: bundle audit
```

-   ### **支持嵌入器**
    

若入多克环境. [文档](https://lefthook.dev/configuration/run)

```yml
pre-commit:
  jobs:
    - script: "good_job.js"
      runner: docker run -it --rm <container_id_or_name> {cmd}
```

-   ### **本地配置**
    

如果您是前端/后端的开发者, 想要跳过不必要的命令或覆盖 Docker 中的东西 . [文档](https://lefthook.dev/examples/lefthook-local)

```yml
# lefthook-local.yml
pre-push:
  exclude_tags:
    - frontend
  jobs:
    - name: audit packages
      skip: true
```

-   ### **直接控制**
    

如果你想直接运行钩子组.

```bash
$ lefthook run pre-commit
```

-   ### **你的任务**
    

如果您想要直接运行特定的一组命令 .

```yml
fixer:
  jobs:
    - run: bundle exec rubocop --force-exclusion --safe-auto-correct -- {staged_files}
    - run: yarn eslint --fix {staged_files}
```

```bash
$ lefthook run fixer
```

-   ### **控制输出**
    

你可以控制左侧的指纹 [产出](https://lefthook.dev/configuration/output) 选项.

```yml
output:
  - execution
  - failure
```

* * *

### 指南

-   [安装节点.js](https://lefthook.dev/installation/node)
-   [用 Ruby 安装](https://lefthook.dev/installation/ruby)
-   [安装 Homebrew](https://lefthook.dev/installation/homebrew)
-   [用 Winget 安装](https://lefthook.dev/installation/winget)
-   [为基于 Debian 的 Linux 安装](https://lefthook.dev/installation/deb)
-   [为基于 RPM 的 Linux 安装](https://lefthook.dev/installation/rpm)
-   [为 Arch Linux 安装](https://lefthook.dev/installation/arch)
-   [为 Alpine Linux 安装](https://lefthook.dev/installation/alpine)
-   [使用量](https://lefthook.dev/usage/)
-   [配置](https://lefthook.dev/configuration/index)

### 实例

检查 [实例](https://lefthook.dev/examples/lefthook-local)

### 文章

-   [5个冷酷(和出人意料的)方法来配置用于自动化喜悦的"左旋"](https://evilmartians.com/chronicles/5-cool-and-surprising-ways-to-configure-lefthook-for-automation-joy?utm_source=lefthook)
-   [Lefthook:把你的团队代码恢复成形状](https://evilmartians.com/chronicles/lefthook-knock-your-teams-code-back-into-shape?utm_source=lefthook)
-   [左旋+水晶球](https://evilmartians.com/chronicles/lefthook-crystalball-and-git-magic?utm_source=lefthook)
-   [保持开放源码软件文件与文件编写、左翼和朋友的核对](https://evilmartians.com/chronicles/keeping-oss-documentation-in-check-with-docsify-lefthook-and-friends?utm_source=lefthook)
-   [自动挂起嵌入容器](https://dev.to/nitzano/linting-docker-containers-2lo6?utm_source=lefthook)
-   [平滑 PostgreSQL 在 DockerDev 环境中的升级](https://dev.to/palkan_tula/smooth-postgresql-upgrades-in-dockerdev-environments-with-lefthook-203k?utm_source=lefthook)
-   [Lefthook for React/ react 本地应用程序](https://blog.logrocket.com/deep-dive-into-lefthook-react-native?utm_source=lefthook)

## 常见问题

### @evilmartians/lefthook-installer 是什么？

简单的钩子管理器

### 如何安装 @evilmartians/lefthook-installer？

在项目目录运行 npm install @evilmartians/lefthook-installer，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 lefthook，可以用 npx lefthook 直接运行。

### @evilmartians/lefthook-installer 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/evilmartians\_\_lefthook-installer 是否存在。

### @evilmartians/lefthook-installer 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @evilmartians/lefthook-installer 可以商用吗？

@evilmartians/lefthook-installer 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @evilmartians/lefthook-installer 的下载量有多少？

根据 npm 官方下载统计，@evilmartians/lefthook-installer 在 2026/10/14 – 2026/11/12 这 30 天内被下载 3,206 次，日均约 107 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @evilmartians/lefthook-installer 还在维护吗？

最新版本 2\.2\.2 发布于 2026/10/13（1 个月前）；至今共发布 185 个版本，其中过去 12 个月发布了 31 个；首次发布于 2022/06/08。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

