错误代码
ERR_PNPM_UNEXPECTED_STORE
存在一个模块目录,并且链接到不同的存储目录。
如果您有意更改存储目录,请运行 pnpm install
,pnpm 将使用新的存储目录重新安装依赖项。
ERR_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE
一个项目有一个工作区依赖项,该依赖项在工作区中不存在。
例如,包 foo
在 dependencies
中有 [email protected]
{
"name": "foo",
"version": "1.0.0",
"dependencies": {
"bar": "workspace:1.0.0"
}
}
但是,工作区中只有 [email protected]
,因此 pnpm install
将失败。
要修复此错误,所有使用 工作区协议 的依赖项都应更新为使用工作区中存在的包版本。这可以通过手动完成,也可以使用 pnpm -r update
命令完成。
ERR_PNPM_PEER_DEP_ISSUES
如果项目有未解析的对等依赖项,或者对等依赖项与所需的范围不匹配,则 pnpm install
将失败。要解决此问题,请安装缺少的对等依赖项。
您也可以使用 package.json
中的 pnpm.peerDependencyRules.ignoreMissing 和 pnpm.peerDependencyRules.allowedVersions 字段选择性地忽略这些错误。
ERR_PNPM_OUTDATED_LOCKFILE
当安装无法在不更改锁定文件的情况下执行时,会发生此错误。这可能发生在 CI 环境中,如果有人更改了存储库中的 package.json
文件,但之后没有运行 pnpm install
。或者有人忘记提交对锁定文件的更改。
要修复此错误,只需运行 pnpm install
并提交对锁定文件的更改。
ERR_PNPM_TARBALL_INTEGRITY
此错误表示下载的包的压缩包与预期的完整性校验和不匹配。
如果您使用 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 版本的版本。
要修复此错误,请删除发布通道前缀或更正版本后缀。
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
是整数)