pnpm update命令不生效,无法更新package.json中的依赖项怎么办?

pnpm update 升级无效
环境信息

PS C:\Users\Administrator> node --version
v20.0.0
PS C:\Users\Administrator> pnpm --version
9.4.0

package.json文件

# package.json
"@amap/amap-jsapi-types": "^0.0.13",

使用升级命令
pnpm update @amap/amap-jsapi-types
控制台信息

PS D:\code\xx-vue> pnpm up @amap/amap-jsapi-types     
 WARN  16 deprecated subdependencies found: axios@0.19.2,  expression-eval@5.0.1, glob@7.2.3, har-validator@5.1.5, inflight@1.0.6, request@2.88.2, resolve-url@0.2.1, rimraf@3.0.2, source-map-resolve@0.5.3, source-map-url@0.4.1, stable@0.1.8, tilebelt@1.0.1, urix@0.1.0, uuid@3.4.0, viewport-mercator-project@6.2.3
Already up to date
Progress: resolved 1384, reused 1346, downloaded 0, added 0, done
 WARN  Issues with peer dependencies found
.
└─┬ stylelint-config-recommended-vue 1.5.0
  └─┬ stylelint-config-recommended 14.0.0
    └── ✕ unmet peer stylelint@^16.0.0: found 15.11.0

Done in 16.5s
PS D:\code\xx-vue> pnpm list @amap/amap-jsapi-types
Legend: production dependency, optional only, dev only

pipenetwork-info-collection-map@0.0.0 D:\code\deckgl-vue

devDependencies:
@amap/amap-jsapi-types 0.0.13

packagejson 没有任何变化,pnpm list @amap/amap-jsapi-types版本号也没有变化,不是跨大版本,为什么下载不了latest

阅读 2.6k
avatarAI BotBETA

pnpm update 命令不生效的问题可能由多种因素导致。在您的情况下,尽管您尝试更新 @amap/amap-jsapi-types 依赖项,但是 pnpm 报告说它已经是最新版本了。这可能是因为:

  1. 已经是最新的版本:可能您已经在 package.json 中指定了最新可用的版本,或者 pnpm 注册表中的最新版本与您当前安装的版本相同。
  2. 缓存问题:有时,包管理器的缓存可能会导致更新未生效。
  3. 网络问题:可能是因为网络问题,导致 pnpm 无法连接到包注册表,或者无法下载最新版本。

针对您的情况,这里有几个可能的解决方案:

1. 检查最新版本

确保 @amap/amap-jsapi-types 的最新版本确实与您在 package.json 中指定的版本不同。您可以通过以下命令查看可用的最新版本:

pnpm info @amap/amap-jsapi-types versions

2. 清除缓存

尝试清除 pnpm 的缓存,然后再次运行更新命令:

pnpm store prune
pnpm update @amap/amap-jsapi-types

3. 强制更新

如果上述方法都不起作用,您可以尝试强制 pnpm 重新安装所有依赖项,这通常会忽略缓存并重新解析依赖项:

pnpm install --force

这将删除现有的 node_modules 目录和 pnpm-lock.yaml 文件,然后重新安装所有依赖项。

4. 检查网络连接

确保您的网络连接正常,并且 pnpm 能够访问到包注册表。

5. 检查 package.json 文件

确认 package.json 文件没有语法错误,并且确实包含了要更新的依赖项。

6. 使用其他包管理器

如果 pnpm 持续出现问题,您可以尝试使用其他的包管理器,如 npmyarn,来看看问题是否依然存在。

如果以上步骤都不能解决问题,您可能需要检查 pnpm 的文档或社区,看看是否有其他人遇到了类似的问题,或者考虑向 pnpm 的维护者报告这个问题。

1 个回答

不是非常确定,也不觉得有啥值得研究的,不过大概率 pnpm 判断不能简单升级,可能会破坏你的代码。

如果你确定可以平滑升级的话,pnpm info xxx 查一下最新版本,然后直接 pnpm i xxx@版本号 就可以了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进