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

为何同版本@ember/optional-features的npm依赖树不一致?

问题原因及解决办法

以下是导致两个项目子依赖版本不一致的常见原因,以及对应的解决方式:

  • npm版本不一致:虽然你用了相同的nvm版本,但两个项目环境的npm版本可能不同。npm的依赖解析逻辑在不同大版本(比如npm 6 vs npm 7+)中有明显差异,锁文件格式、依赖树计算规则都不一样,会直接影响子依赖的安装版本。可以在两个项目里分别执行npm -v确认版本是否一致,统一npm版本后重新安装。

  • 锁文件固定了旧版本:如果其中一个项目之前安装过依赖,package-lock.json里已经记录了inquirer@7.1.0的版本信息,后续执行npm install会优先遵循锁文件的记录,而不是拉取^7.0.1范围内的最新版本。解决方法是删除项目根目录的package-lock.json和node_modules文件夹,然后重新执行npm install,此时npm会重新计算依赖并安装符合范围的最新版本。

  • 项目存在其他依赖冲突:两个项目的其他依赖可能对inquirer有不同的版本要求,npm为了满足所有依赖的约束,会选择一个能兼容所有要求的版本,或者在不同层级安装不同版本。你可以在两个项目里分别执行npm ls inquirer,查看所有依赖对inquirer的版本限制,排查是否存在冲突的情况。

  • npm缓存残留旧版本:npm本地缓存中可能存储了inquirer@7.1.0的旧包,安装时直接取用了缓存内容,没有去拉取最新的兼容版本。可以执行npm cache clean --force清理本地缓存,再重新执行npm install。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 07:52:08