错误代码
ERR_PNPM_UNEXPECTED_STORE
存在一个 modules 目录,并且它链接到了一个不同的 store 目录。
如果你是有意更改了 store 目录,请运行 pnpm install
,pnpm 将使用新的 store 重新安装依赖项。
ERR_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE
项目中有一个工作区依赖项在工作区中不存在。
例如,包 foo
在 dependencies
中有 bar@1.0.0
:
{
"name": "foo",
"version": "1.0.0",
"dependencies": {
"bar": "workspace:1.0.0"
}
}
但是工作区中只有 bar@2.0.0
,所以 pnpm install
将会失败。
要修复这个错误,所有使用工作区协议的依赖项都应该更新为工作区中存在的包版本。这可以手动完成,也可以使用 pnpm -r update
命令完成。
ERR_PNPM_PEER_DEP_ISSUES
如果项目有未解析的对等依赖项(peer dependencies)或对等依赖项与所需范围不匹配,pnpm install
将会失败。要修复这个问题,请安装缺失的对等依赖项。
你也可以使用 peerDependencyRules.ignoreMissing 和 peerDependencyRules.allowedVersions 设置来选择性地忽略这些错误。
ERR_PNPM_OUTDATED_LOCKFILE
当安装无法在不更改锁文件的情况下完成时,会发生此错误。这种情况可能发生在 CI 环境中,如果有人在修改了仓库中的 package.json
文件后没有运行 pnpm install
。或者有人忘记提交对锁文件的更改。
要修复此错误,只需运行 pnpm install
并提交对锁文件的更改。
ERR_PNPM_TARBALL_INTEGRITY
此错误表明下载的包的 tarball 与预期的完整性校验和不匹配。
如果你使用的是 npm 注册表(registry.npmjs.org
),那么这可能意味着你的锁文件中的完整性校验和不正确。
这种情况可能发生在锁文件有错误解决的合并冲突时。
如果你使用的注册表允许覆盖包的现有版本,那么这可能意味着你的本地元数据缓存中有旧版本包的完整性校验和。在这种情况下,你应该运行 pnpm store prune
。此命令将删除你的本地元数据缓存。然后你可以重试失败的命令。
但也要小心,验证包是否从正确的 URL 下载。URL 应该在错误消息中打印出来。
ERR_PNPM_MISMATCHED_RELEASE_CHANNEL
配置字段 use-node-version
定义的发布渠道与版本后缀不同。
例如:
rc/20.0.0
定义了一个rc
渠道,但版本是稳定发布版本。release/20.0.0-rc.0
定义了一个release
渠道,但版本是 RC 发布版本。
要修复此错误,请删除发布渠道前缀或更正版本后缀。
注意,不允许指定像 lts/Jod
这样的 node 版本。
稳定发布版本的正确语法严格为 X.Y.Z 或 release/X.Y.Z。
ERR_PNPM_INVALID_NODE_VERSION
配置字段 use-node-version
的值语法无效。
以下是 use-node-version
的有效格式:
-
稳定发布版本:
X.Y.Z
(X
、Y
、Z
为整数)release/X.Y.Z
(X
、Y
、Z
为整数)
-
RC 发布版本:
X.Y.Z-rc.W
(X
、Y
、Z
、W
为整数)rc/X.Y.Z-rc.W
(X
、Y
、Z
、W
为整数)