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

使用create-react-app创建项目遇Artifactory依赖版本封禁403错误如何解决

可行解决方案

方案1:通过npm overrides强制指定安全版本(最推荐)

此方法可以直接满足你强制使用无漏洞ansi-regex版本的需求,步骤如下:

  • 执行命令生成项目结构,跳过依赖安装:
    npx create-react-app my-app --skip-install
  • 进入生成的my-app目录,打开package.json文件,新增overrides配置项:
{
  "name": "my-app",
  "version": "0.1.0",
  // 保留其他原有配置
  "overrides": {
    "ansi-regex": "^5.0.1"
  }
}
  • 执行npm install完成依赖安装即可,npm 8及以上版本原生支持overrides配置,会强制所有依赖树中的ansi-regex都使用你指定的5.0.1安全版本,绕开被封禁的旧版本。

方案2:临时切换公共源完成项目初始化

如果只是创建阶段遇到拦截,可以临时指定公共npm源完成项目创建,后续再切回公司内部源:

  • 执行创建命令时指定官方源:
    npx create-react-app my-app --registry=https://registry.npmjs.org
  • 项目创建完成后,将项目根目录的.npmrc配置修改为公司JFrog Artifactory地址,后续安装其他依赖仍走内部源,建议同时补上方案1中的overrides配置,避免后续重新安装依赖时再次触发拦截。

方案3:申请调整Artifactory封禁规则

你提到仅ansi-regex@4.0.1存在漏洞被封禁,而报错中请求的是v4.1.0版本,可以联系公司运维人员确认是否是误封了整个4.x版本的ansi-regex,若4.1.0不在漏洞范围内,申请放开该版本的访问权限后,即可直接执行默认的create-react-app命令完成创建。

方案4:使用Yarn的resolutions配置

如果公司允许使用Yarn作为包管理器,可以用Yarn的resolutions能力实现和npm overrides相同的效果:

  • 同方案1第一步,执行npx create-react-app my-app --skip-install生成项目结构
  • 在package.json中新增resolutions配置:
"resolutions": {
  "ansi-regex": "^5.0.1"
}
  • 执行yarn install完成安装即可。
关于强制create-react-app使用高版本的说明

完全可以强制使用高版本安全包,上述方案1的overrides配置就是最简便的实现方式,无需修改create-react-app的官方逻辑,通过包管理器的版本覆盖能力即可实现需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 11:45:04