使用npm overrides统一@my-ui-fwk/core版本时遇错误求指导
问题:npm overrides配置是否正确?
背景信息
我正在使用某UI框架,项目中的相关依赖如下:
"@my-ui-fwk/ag-grid-theme": "^1.3.7", "@my-ui-fwk/core": "1.16.0", "@my-ui-fwk/data-grid": "^1.0.3", "@my-ui-fwk/icons": "1.9.1", "@my-ui-fwk/lab": "^1.0.0-alpha.29", "@my-ui-fwk/theme": "1.11.0",
我希望项目中仅使用@my-ui-fwk/core的1.16.0版本。运行npm list @my-ui-fwk/core后,发现子依赖中存在多个版本:
$ npm list @my-ui-fwk/core +-- @my-ui-fwk/core@1.16.0 +-- @my-ui-fwk/data-grid@1.0.3 | +-- @my-ui-fwk/core@1.4.0 | `-- @my-ui-fwk/lab@1.0.0-alpha.4 | `-- @my-ui-fwk/core@1.4.0 deduped `-- @my-ui-fwk/lab@1.0.0-alpha.38 `-- @my-ui-fwk/core@1.22.0
为了统一版本,我在package.json中添加了如下overrides配置:
"overrides": { "@my-ui-fwk/data-grid": { "@my-ui-fwk/core": "$@my-ui-fwk/core" }, "@my-ui-fwk/lab": { "@my-ui-fwk/core": "$@my-ui-fwk/core" } }
但执行npm install后再次运行npm list @my-ui-fwk/core,出现了如下错误:
npm list @my-ui-fwk/core npm ERR! code ELSPROBLEMS npm ERR! invalid: @my-ui-fwk/core@1.22.0 D:\my-ui-web\node_modules\@my-ui-fwk\lab\node_modules\@my-ui-fwk\core my-ui-web@0.1.0 D:\my-ui-web +-- @my-ui-fwk/core@1.16.0 overridden +-- @my-ui-fwk/data-grid@1.0.3 overridden | +-- @my-ui-fwk/core@1.16.0 deduped | `-- @my-ui-fwk/lab@1.0.0-alpha.4 overridden | `-- @my-ui-fwk/core@1.16.0 deduped `-- @my-ui-fwk/lab@1.0.0-alpha.38 overridden `-- @my-ui-fwk/core@1.22.0 invalid: "1.16.0" from node_modules/@my-ui-fwk/lab overridden
补充说明
我实际要解决的问题是:页面初始加载时HTML元素为:
<html lang="en" class="my-theme my-density-medium" data-mode="light">
但在某些UI交互(如下拉菜单开合)后,data-mode变为"undefined",导致页面CSS完全崩溃。我被告知需要确保@my-ui-fwk/core的子依赖也使用同一版本,因此尝试了上述配置。
请问这种overrides配置方式是否正确?
内容的提问来源于stack exchange,提问作者copenndthagen
相关产品推荐
相关产品推荐

