即使使用插入符号 (^),PNPM 安装也不会更新次要版本或补丁版本

Zen*_*xis 5 npm semantic-versioning reactjs pnpm

PNPM 似乎完全安装了 package.json 中指定的版本,并且似乎没有安装最新的次要版本。

例如,在我的 package.json 中我有这个依赖项 "@tanstack/react-query": "^4.13.5"

但是在安装时,pnpm 给出了这条消息 @tanstack/react-query 4.13.5 (4.29.5 is available)

所以我的问题是,为什么 pnpm不像 npm 使用插入符号那样安装4.29.5 ?我该如何实现这一目标?

小智 4

要在 pnpm 中实现此目的,您必须resolution-mode=highest.npmrc文件中使用。虽然它在文档(下面链接)中没有确切说明它的作用highest,但从其他选项中可以很清楚地看出:time-basedlowest-direct

resolution-mode设置为 时time-based,依赖关系将通过以下方式解决:

直接依赖项将解析为最低版本。所以如果有foo@^1.1.0依赖项,那么1.1.0就会安装。

将从最后一个直接依赖项发布之前发布的版本解析子依赖项。

resolution-mode设置为 时lowest-direct,直接依赖项将解析为其最低版本。

更多信息: https: //pnpm.io/npmrc#resolution-mode