# @effected/pnpm-plugin-effect 中文文档

规范地址：https://npmcn.com/package/%40effected/pnpm-plugin-effect/

版本：0\.19\.3
npm 元数据更新时间：2026-10-31T11:49:46.054Z
中文译文更新时间：2026-11-13T09:29:15.953Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40effected/pnpm-plugin-effect
原文对照：https://npmcn.com/package/%40effected/pnpm-plugin-effect/?lang=original
项目主页：https://github.com/spencerbeggs/effected/tree/main/packages/pnpm-plugin-effect#readme
源码仓库：https://github.com/spencerbeggs/effected

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

- 包体积（解压后）：38.3 kB，7 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=24\.11\.0
- 运行依赖：0 个
- 首次发布：2026-07-16T17:30:44.708Z
- 最新版本发布：2026-10-31T11:49:45.726Z
- 近 30 天下载量：5918（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：109（近 12 个月 109 个）

## 中文简介

pnpm 配置依赖,用于整个效应生态系统的集中目录管理.

## 安装

```sh
npm install @effected/pnpm-plugin-effect
```

也可以使用：`pnpm add @effected/pnpm-plugin-effect`、`yarn add @effected/pnpm-plugin-effect`、`bun add @effected/pnpm-plugin-effect`

## README

# @ effected/pnpm- plugin 效果

[![npm](https://img.shields.io/npm/v/@effected%2Fpnpm-plugin-effect?label=npm&color=cb3837)](https://www.npmjs.com/package/@effected/pnpm-plugin-effect) [![License: MIT](https://img.shields.io/badge/License-MIT-4caf50.svg)](https://opensource.org/licenses/MIT) [![Node.js %3E%3D24.11.0](https://img.shields.io/badge/Node.js-%3E%3D24.11.0-5fa04e.svg)](https://nodejs.org/) [![TypeScript 7.0](https://img.shields.io/badge/TypeScript-7.0-3178c6.svg)](https://www.typescriptlang.org/) [![pnpm](https://img.shields.io/badge/pnpm-%3E%3D11-f69220.svg)](https://pnpm.io/)

一个小时 [配置依赖](https://pnpm.io/config-dependencies) 将两个软件包的版本集中到四个 [pnpm 目录](https://pnpm.io/catalogs)编辑 `effect` 双盖 `effect` 联 合 国 `@effect/*` 一号卫星 [效果 v4](https://effect.website/blog/releases/effect/40-beta/) 释放,加 `@effect/tsgo` (a) 独立针 `effected` 双面覆盖每个已发布 `@effected/*` 除了这个包。 每个配对都有你所依赖的版本的目录,第二个是您作为同伴所广告的范围的目录,所以一个库不会过度限制安装它的应用程序. 安装一次, 工作空间的每个软件包都可以使用全部四个目录 .

> **预`1.0.0`。 。 。 .** 此软件包是 `@effected/*` 在稳定基础上建造的工具包 效应v4(`effect` `^4.0.0`) 并仍在 `0.x` 发展。 稳定效果 制作一个工具箱 `1.0.0` 可能,不是自动的。 为了保持你的 `effect` 财务报告和审定财务报表 `@effect/*` 该工具包在线上构建和测试、安装 [`@effected/pnpm-plugin-effect`](https://www.npmjs.com/package/@effected/pnpm-plugin-effect)。 。 。 .
> 
> **稳定:不稳定.** 此软件包的 API 表面尚未考虑 完成并可能改变 `0.x` 释放 定一个确切的版本——甚至 标记软件包 _稳定_ 在此之前 `1.0.0` 可以引入突破性更改 和精确的针 变成一个类型检查错误 而不是一个 跑步时间惊喜。 完全政策: [释放策略](https://github.com/spencerbeggs/effected#release-strategy)。 。 。 .

## 为什么 @ effect/pnpm- plugin 效果

效应船作为一打必须一起移动的包裹. 用手把它绑住,针会飘来飘去: `@effect/*` 组合垫款,其 `effect` pal 不再匹配您安装的核心, 失败会作为未被触碰的文件的类型错误表面 。 把针放在一个地方是整个想法,pnpm目录是机制—— `catalog:effect` ,在显示而非版本字符串中,在指针推进时,在一个地方编辑.

这个 `@effected/*` 工具箱有同样的问题 在更锋利的边缘。 每个套装都打开了 `0.x`当护身符没有穿过未成年人, 所以手写 `^0.14.0` 停止解析当前切换包时的任何内容 `0.15.0`散出十几张名单 这些靶场静静地独立地腐烂 没有任何东西告诉你一个包裹 已经落下两个未成年人 直到一个装置拒绝给你任何电流. `catalog:effected` 将区域替换为名称,升级配置依赖性会同时移动整个工具包表面.

对应目录是您无法从目录中获取的部分 。 图书馆的 `peerDependencies` 应该像 _宽_ 因为它可以安全,而它的 `devDependencies` 应该像 _具体_ 这些数字不同,用人工计算整个生态系统的同龄人底数是严峻的. `effect:peers` 财务报告和审定财务报表 `effected:peers` 是计算,一次完成。 这是一个方便,而不是要求——它包罗万象 [实际](https://github.com/spencerbeggs/effected) 因此,一个想要同样的学科的项目可以采用它而不是重建它。 它运送目录和一个pnpmfile,而不是代码API.

## 安装

添加成一个 **配置依赖** ——不是经常依赖. 配置依赖在树的其他部分前被安装,这就使得它们为安装提供目录和钩子如下:

```bash
pnpm add --config @effected/pnpm-plugin-effect
```

要求pnpm 11或更新,和Node.js QQ24.11.0. 没有npm或线条等同: 配置依赖和目录是pnpm的特性.

命令将软件包写入您的 `pnpm-workspace.yaml`数字 :

```yaml
configDependencies:
  "@effected/pnpm-plugin-effect": <version>+sha512-...
```

**事后检查一下档案,并期望用手来修复.** 在pnpm 11.24.0时 `pnpm add --config` 写入新条目 **无** 一个完整的散列,并剥去 `+sha512-…` 后缀从每个 _其他项目_ 已经列出的配置依赖——包括命令没有理由触及的那些依赖。 一会儿 `pnpm install` 不恢复它们。 配置依赖被安装在所有其他东西之前,并且可以贡献在安装过程中运行的钩子,所以完整性指针是站在你和一个没有验证的包之间,具有这种伸展能力的东西.

手写散列被接受和保存,所以固定是放回:

```yaml
configDependencies:
  "@effected/pnpm-plugin-effect": 0.6.11+sha512-...
  "@your-org/other-config-dep": 1.2.3+sha512-...   # restore this one too
```

您可以从登记册中读取正确的散列版本 :

```bash
npm view "@effected/pnpm-plugin-effect@<version>" dist.integrity
```

## 使用量

安装后,工作空间的每个软件包都可以使用全部四个目录. 参考他们来自 `package.json` 按名称,取而代之的是版本范围。 他们进入的哪个字段取决于您是否正在构建一个应用程序或一个库.

应用程序直接将版本贴上 `dependencies`数字 :

```json
{
  "dependencies": {
    "effect": "catalog:effect",
    "@effect/ai-openai": "catalog:effect",
    "@effected/workspaces": "catalog:effected"
  }
}
```

图书馆既要每双的一半:被绑定的版本进行开发和测试,也要计算出消费者必须满足的地板.

```json
{
  "devDependencies": {
    "effect": "catalog:effect",
    "@effected/workspaces": "catalog:effected"
  },
  "peerDependencies": {
    "effect": "catalog:effect:peers",
    "@effected/workspaces": "catalog:effected:peers"
  }
}
```

pnpm 重写 `catalog:` 具体范围的说明者,当它公布时,所以登记簿上哪些土地是普通的。 下游不需要这个插件, 或是 pnpm .

## 飞来飞去

| 目录 | 目录 | 用进去 |
| --- | --- | --- |
| `catalog:effect` | 每个 `effect` 财务报告和审定财务报表 `@effect/*` 软件包, 绑入一个 v4 释放 | `dependencies` 申请, `devDependencies` 图书馆 |
| `catalog:effect:peers` | 计算共享对等层的同一套软件包 | `peerDependencies` 图书馆 |
| `catalog:effected` | 每一份出版物 `@effected/*` 当前发行的软件包 | `dependencies` 申请, `devDependencies` 图书馆 |
| `catalog:effected:peers` | 同一套套装在小底同位素范围内 | `peerDependencies` 图书馆 |

`@effected/pnpm-plugin-effect` 本身被故意缺席 `effected` 编目——这是编目船内部的包裹,列出它会让每个编目重写会撞出装有编目的包裹.

它也运载了pnpmfile,pnpm从配置依赖自动加载. 没有什么可以导入的,也没有可以调用的——软件包没有代码API,只有配置.

除了目录, pnpmfile 对每个消费者应用两个设置:

-   **排除释放年龄:** `effect` 财务报告和审定财务报表 `@effect/*` 豁免 `minimumReleaseAge`,所以一个固定效应释放 仅几小时的旧.
-   **范围覆盖 :** `@effect/platform-node-shared` 刻入其父版本 `@effect/platform-node@4.0.0-rc.117` 财务报告和审定财务报表 `@effect/platform-node@4.0.0-rc.118`新的决心将它与为另一种人建造的更新的工具结合起来 `effect`,在启动时崩溃工具。 每个超接只应用在自己的母程序下,所以一个稳定的安装从不被触碰,你自己的 `overrides` 被保存在他们旁边。 如果您自己设置了相同的选择器, 您的值会获胜, 插件会警告 .

这个 `effect` 当效应针推进时,目录会移动,这是人为的蓄意升级. 这个 `effected` 目录是随着工具包的放行而自动重建的,因此这个软件包的每个新版本都携带了工具包的当前版本;提升配置依赖性是消费者如何取取.

```bash
pnpm update --config @effected/pnpm-plugin-effect
pnpm install
# every catalog: specifier in the workspace re-resolves to the new pins
```

因为效果释放 `effect` 和每个 `@effect/*` 将软件包放在一个版本,两个版本 `effect` 分类基本一致。 一旦软件包的放出脱离同步,地板的计算就能赚取其保值——它在Effect v3中挣得,地板在V3中确实存在差异。 这个 `effected` 双胞胎通常有差异,因为套件的依赖性会跟踪其准确的释放,而同位素范围则会降低到未成年人.

## 许可证

[麻省理工学院](https://npmcn.com/package/%40effected/pnpm-plugin-effect/LICENSE)

## 常见问题

### @effected/pnpm-plugin-effect 是什么？

pnpm 配置依赖,用于整个效应生态系统的集中目录管理\.

### 如何安装 @effected/pnpm-plugin-effect？

在项目目录运行 npm install @effected/pnpm-plugin-effect，或使用 pnpm add / yarn add / bun add。

### @effected/pnpm-plugin-effect 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @effected/pnpm-plugin-effect 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @effected/pnpm-plugin-effect 需要什么版本的 Node\.js？

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

### @effected/pnpm-plugin-effect 可以商用吗？

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

### @effected/pnpm-plugin-effect 的下载量有多少？

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

### @effected/pnpm-plugin-effect 还在维护吗？

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

