You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lerna+NPM项目移除localPeerDependencies依赖报错咨询

问题解答

1. 这是Lerna还是npm的问题?

这本质是npm不识别localPeerDependencies这个自定义字段导致的问题。

localPeerDependencies不是npm原生支持的配置项,它是Lerna生态里的自定义扩展字段(用于管理本地包的peer依赖关系)。当你执行npm remove或npm prune时,npm会把这个字段里的包当成普通的公开npm包去远程仓库查找版本,但aux-package是你本地的私有包,远程仓库根本没有0.0.0-0这个版本,所以触发了ETARGET错误。Lerna本身没有为这个字段提供对应的npm命令兼容处理,用npm原生命令操作它必然会失败。

2. 2023年移除localPeerDependencies中包的正确方式

因为localPeerDependencies是Lerna的自定义配置,没有对应的npm/Lerna命令可以直接移除,正确的操作步骤是:

  • 手动编辑main-package/package.json,删除localPeerDependencies对象里的"aux-package": "0.0.0-0"条目。
  • 如果aux-package同时存在于main-package的dependencies、devDependencies或原生peerDependencies字段中,再执行npm remove aux-package(在main-package目录下)或者lerna exec --scope main-package -- npm remove aux-package(根目录执行)来移除这些原生依赖项。
  • 最后在项目根目录运行lerna bootstrap,让Lerna重新同步所有本地包的依赖关系,确保配置变更生效。

内容的提问来源于stack exchange,提问作者lastoneisbearfood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 22:42:36