错误码
ERR_PNPM_UNEXPECTED_STORE
存在模块目录并链接到不同的存储目录。
如果您有意更改了存储目录,请运行 pnpm install
,pnpm 将使用新存储重新安装依赖。
ERR_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE
项目具有工作区中不存在的工作区依赖项。
例如,包 foo
在 dependency
有 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
项目具有未解析的对等依赖关系或对等依赖关系与所需范围不匹配,那么 pnpm install
将失败。 要解决此问题,请安装缺少的对等依赖项。
您也可以使用 package.json
中的 pnpm.peerDependencyRules.ignoreMissing 和 pnpm.peerDependencyRules.allowedVersions 字段选择性地忽略这些错误。
ERR_PNPM_OUTDATED_LOCKFILE
如果不更改 lockfile 就无法执行安装,则会发生此错误。 如果有人更改了存储库中的 package.json
文件,之后没有运行 pnpm install
,这可能会发生在 CI 环境中。 或者有人忘记提交 lockfile 文件的更改。
要修复此错误,只需运行 pnpm install
并将 lockfile 的更改提交。
ERR_PNPM_TARBALL_INTEGRITY
此错误表示下载的软件包的 tarball 与预期的完整性校验和不匹配。
如果使用 npm 注册表 (registry.npmjs.org
),那么这可能意味着lockfile中的完整性不正确。 如果 lockfile 解析时存在错误合并冲突,则可能会发生这种情况。
如果使用允许覆盖包的现有版本的注册表,则可能意味着在本地元数据缓存中有旧版本软件包的完整性校验和。 在这种情况下,您应该运行 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 版本。
要修复此错误,请删除发布通道前缀或更正版本后缀。
Note that it is not allowed to specify node versions like lts/Jod
. The correct syntax for stable release is strictly X.Y.Z or release/X.Y.Z.
ERR_PNPM_INVALID_NODE_VERSION
配置字段 use-node-version
的值具有无效语法。
以下是 use-node-version
的有效形式:
- 稳定版
XYZ
(X
,Y
,Z
都是整数)XYZ
(X
,Y
,Z
都是整数)
- RC 版本:
XYZ
(X
,Y
,Z
都是整数)XYZ
(X
,Y
,Z
都是整数)