# @achingbrain/dependency-check 中文文档

规范地址：https://npmcn.com/package/%40achingbrain/dependency-check/

版本：4\.1\.0
npm 元数据更新时间：2022-04-04T11:10:58.648Z
中文译文更新时间：2026-11-06T10:23:11.872Z
软件包许可：BSD-3-Clause

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

原始 npm 页面：https://www.npmjs.com/package/%40achingbrain/dependency-check
原文对照：https://npmcn.com/package/%40achingbrain/dependency-check/?lang=original
项目主页：https://github.com/dependency-check-team/dependency-check
源码仓库：https://github.com/dependency-check-team/dependency-check

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

- 包体积（解压后）：24.6 kB，9 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=10\.0\.0
- 运行依赖：9 个
- 首次发布：2020-11-16T07:36:45.577Z
- 最新版本发布：2020-11-16T07:36:45.777Z
- 近 30 天下载量：3498（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 0 个）

## 中文简介

检查您在代码中使用过哪些模块,然后确定它们被列为您的软件包中的依赖性. json

## 安装

```sh
npm install @achingbrain/dependency-check
```

也可以使用：`pnpm add @achingbrain/dependency-check`、`yarn add @achingbrain/dependency-check`、`bun add @achingbrain/dependency-check`

## README

> # 这是一个临时的叉子, 只需要到 [受抚养人检查小组/受抚养人检查#127](https://github.com/dependency-check-team/dependency-check/pull/127) 或相当的合并

# 依赖性检查

请检查您在代码中使用过哪些模块, 然后确定它们被列为您的软件包中的依赖性

![Node CI](https://github.com/dependency-check-team/dependency-check/workflows/Node%20CI/badge.svg) ![Static code analysis](https://github.com/dependency-check-team/dependency-check/workflows/Static%20code%20analysis/badge.svg) [![dependencies Status](https://david-dm.org/dependency-check-team/dependency-check/status.svg)](https://david-dm.org/dependency-check-team/dependency-check) [![Known Vulnerabilities](https://snyk.io/test/github/dependency-check-team/dependency-check/badge.svg?targetFile=package.json)](https://snyk.io/test/github/dependency-check-team/dependency-check?targetFile=package.json)

[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)

## 维修主要项目所需经费

依赖性检查 `4.x` 支持节点.js 10 及以后

依赖性检查 `3.x` 支持节点6及以后

依赖性检查 `2.x` 支持节点.js 0.10及以后( Dev Note: 使用 `legacy` 标签)

关于维护状况的更多信息,见 [警卫](https://npmcn.com/package/%40achingbrain/dependency-check/SECURITY.md)。 。 。 .

## 如何运作

`dependency-check` 解析从默认条目文件(例如)开始的模块代码. `index.js` 或者说 `main` 和任何 `bin` 在 package.json 中定义的命令,或者如果已经定义了特定文件,那么这些命令)和穿过所有相对需要的JS文件,最终生成一个非相干模块列表

-   **相对** - 比如说. `require('./a-relative-file.js')`,如果遇到其中之一,则所需文件将由 `dependency-check` 算法
-   **非相对** - 比如说. `require('a-module')`,如果遇到其中之一,它将会被添加到依赖性列表中,但模块的子依赖性将不会得到递归解析

本模块的目标是,简单地检查所有非相对模块是否获得 `require()`'d'是在packet.json中,它阻止人们在安装你的模块时得到"模块找不到"出错,这些模块缺少了被意外发布给国家预防机制的道克(一直发生在我身上,因此是写这个模块的动力).

## cli使用量

```
$ npm install dependency-check -g
$ dependency-check <path to module file(s), package.json or module folder>

# e.g.

$ dependency-check ./package.json --verbose
Success! All dependencies used in the code are listed in package.json
Success! All dependencies in package.json are used in the code
$ dependency-check ./package.json --missing --verbose
Success! All dependencies used in the code are listed in package.json
$ dependency-check ./package.json --unused --verbose
Success! All dependencies in package.json are used in the code

# or with file input instead:

$ dependency-check ./index.js

# even with globs and multiple inputs:

$ dependency-check ./test/**/*.js ./lib/*.js
```

`dependency-check` 如果存在差异, 则使用代码 1 退出, 除打印外

总是用代码0通过退出 `--ignore`

### 失踪

运行 `dependency-check ./package.json --missing` 将只检查是否确保您的代码中的所有模块都在您的软件包中列出。 json

### 未使用

运行 `dependency-check ./package.json --unused` 将只做丢失的检查的倒数, 并告诉你软件包中的哪个模块。 json 依赖性 **未使用** 在代码中

### \-- no-dev (无数据)

运行 `dependency-check ./package.json --unused --no-dev` 将不会告诉你您的软件包中是否有依赖性。 json 丢失或未使用

### \-没有

运行 `dependency-check ./package.json --unused --no-peer` 将不会告诉你您的软件包中是否有对等的依赖性

### \- 不透明模块, -i

忽略模块。 这对双方都有用 `--unused` 财务报告和审定财务报表 `--missing`。您可以指定许多单独的 `--ignore-module` 随想辩才. 例如运行 `dependency-check ./package.json --unused --ignore-module foo` 如果 `foo` 模块未在您的代码中使用。 通过使用 [微比对](https://www.npmjs.com/package/micromatch)所以说. `--ignore-module "@types/*" is possible`

### \-- 无违约企业

运行 eg. `dependency-check package.json tests.js --no-default-entries` 将不会添加任何默认条目, 尽管给出的主要路径是 one 到 package.json 或模块文件夹 。 所以,只有 `tests.js` 将检查文件

### \-- 扩展-e

运行 `dependency-check ./package.json -e js,jsx:precinct` 将解决所需路径 `.js` 财务报告和审定财务报表 `.jsx` 路径,并使用 [`precinct`](https://www.npmjs.com/package/precinct)。 。 。 .

### \-- 检测

运行 `dependency-check ./package.json --detective precinct` 将 `require()` 当地 `precinct` 作为默认解析器。 使用 `-e`。默认解析 [`detective`](https://www.npmjs.com/package/detective)。 。 。 .

### 动词

运行中 `--verbose` 将启用关于成功与否的日志信息,否则只检查失败与否的日志.

### \-- 帮助

显示以上选项和所有其他可用的选项

## 每个 npm 发布前自动检查

将此添加到您的 `.bash_profile`编号 :`.bashrc`

```sh
# originally from https://gist.github.com/mafintosh/405048d304fbabb830b2
npm () {
  ([ "$1" != "publish" ] || dependency-check .) && command npm "$@"
}
```

现在,当你这样做 `npm publish` 而且你缺少依赖性 它不会公布,例如:

```
$ npm publish
Fail! Dependencies not listed in package.json: siblings
$ npm install --save siblings
$ npm publish # works this time
```

## 调用

见 [调试依赖性](https://github.com/sindresorhus/grunt-dependency-check)。 。 。 .

## 笔记

-   [侦探](https://www.npmjs.org/package/detective) 用于解析 `require()` 语句,这意味着它只是 **需要静态**这意味着你应该转换的东西像 `var foo = "bar"; require(foo)` 保持静态,例如. `require("bar")`
-   使用 globbing 来有效添加您要检查的所有文件

## 常见问题

### @achingbrain/dependency-check 是什么？

检查您在代码中使用过哪些模块,然后确定它们被列为您的软件包中的依赖性\. json

### 如何安装 @achingbrain/dependency-check？

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

### @achingbrain/dependency-check 支持 TypeScript 吗？

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

### @achingbrain/dependency-check 支持 ESM 还是 CommonJS？

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

### @achingbrain/dependency-check 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=10\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @achingbrain/dependency-check 可以商用吗？

@achingbrain/dependency-check 使用 BSD-3-Clause 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。另外不得用原作者名义为衍生产品背书。以上为概括，不构成法律意见，请以许可原文为准。

### @achingbrain/dependency-check 的下载量有多少？

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

### @achingbrain/dependency-check 还在维护吗？

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

