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

如何仅为指定依赖自动启用npm install --legacy-peer-deps

解决方案

方案1:npm原生方案(推荐,要求npm ≥ v8.3.0)

npm从8.3.0版本开始原生支持overrides配置字段,可以精准指定特定依赖的版本规则,完全满足你仅针对mathjax-react、mathjax-full豁免peer依赖检查、不影响其他依赖冲突告警的需求。
你只需要在你的package.json中新增overrides字段即可,修改后的配置示例如下:

{
  "name": "my-app",
  "version": "0.1.0",
  "dependencies": {
    "@aws-sdk/client-s3": "^3.21.0",
    "@testing-library/react": "^11.2.5",
    "axios": "^0.22.0",
    "credit-card-type": "^8.3.0",
    "csstype": "^3.0.8",
    "dayjs": "^1.10.4",
    "lodash": "^4.17.20",
    "mathjax-full": "^3.2.0",
    "mathjax-react": "^1.0.6",
    "react": "^17.0.2"
  },
  // 新增overrides字段
  "overrides": {
    "mathjax-react": {
      "react": "$react"
    },
    "mathjax-full": {
      "react": "$react"
    }
  },
  "proxy": "http://localhost:5000",
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "jest",
    "eject": "react-scripts eject"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

配置完成后直接执行npm i即可,无需加任何额外参数,npm会自动为这两个包使用你项目中已安装的React 17版本,其余依赖的peer依赖冲突仍会正常触发告警。


方案2:低版本npm兼容方案

如果你的npm版本低于8.3.0无法使用overrides特性,可以通过自定义npm脚本实现需求:

  1. 在package.json的scripts中新增自定义安装命令:
"scripts": {
  "install:custom": "npm install && npm install mathjax-react@1.0.6 mathjax-full@3.2.0 --legacy-peer-deps --no-save"
}
  1. 后续安装依赖时执行npm run install:custom即可,命令会先正常安装所有依赖,再单独为这两个包加--legacy-peer-deps参数重新安装,不会修改package.json的依赖记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 15:39:03