You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用create-react-app创建React项目时依赖安装失败求助

解决create-react-app创建项目时yarn依赖安装失败的问题

首先来看你遇到的报错信息:

安装包中,这可能需要几分钟时间。正在安装react、react-dom和react-scripts...
yarn add v1.3.2
info 未找到lockfile。
[1/4] 解析包中...
error 未找到匹配"^1.1.0"版本的"require-from-string"
info 访问https://yarnpkg.com/en/docs/cli/add查看该命令的文档。
Error: 从注册表获取"timed-out"的响应格式错误,注册表可能已宕机。
at MessageError (C:\Program Files (x86)\Yarn\lib\cli.js:139:5)
at C:\Program Files (x86)\Yarn\lib\cli.js:48907:15
at next (native)
at step (C:\Program Files (x86)\Yarn\lib\cli.js:92:30)
at C:\Program Files (x86)\Yarn\lib\cli.js:110:14
at new Promise (C:\Program Files (x86)\Yarn\lib\cli.js:93093:7)
at C:\Program Files (x86)\Yarn\lib\cli.js:89:12
at Function.findVersionInRegistryResponse (C:\Program Files (x86)\Yarn\lib\cli.js:48946:7)
at C:\Program Files (x86)\Yarn\lib\cli.js:48963:28
at next (native)
Aborting installation.

从这些错误来看,你用create-react-app创建React项目时栽在了yarn的依赖安装上——两个核心问题:找不到匹配版本的require-from-string,还有timed-out的注册表响应格式错误。这俩问题大概率是因为你用的yarn版本太老(v1.3.2),再加上可能的npm registry访问波动导致的。给你整理了一步步的解决办法:

  • 升级yarn到最新稳定版
    你现在用的yarn v1.3.2是2017年的老版本,对新的依赖版本解析规则、registry协议的支持都跟不上,这是导致依赖找不到的主要原因。执行这条命令升级:

    npm install -g yarn
    

    升级完可以敲yarn --version确认下版本是不是更新了。

  • 清除yarn缓存
    旧缓存里可能存了损坏的依赖信息,清掉它能避免后续解析出错:

    yarn cache clean
    
  • 切换到国内npm镜像(可选但强烈推荐)
    如果是国内用户,访问官方npm registry经常会出现超时、格式错误这类问题,切换到国内镜像能大幅提升安装稳定性:

    yarn config set registry https://registry.npmmirror.com
    
  • 重新创建React项目
    先把之前创建失败的项目目录删掉(如果有的话),然后重新执行创建命令:

    npx create-react-app my-react-app
    

    要是你指定想用yarn管理依赖,可以加个参数:

    npx create-react-app my-react-app --use-yarn
    

额外说明

  • 报错里提到的require-from-string@^1.1.0是react-scripts依赖的包,旧版本yarn没法正确解析这个版本范围,升级yarn后就能解决。
  • 那个timed-out的注册表错误,要么是网络不稳定,要么是老版本yarn的网络请求逻辑有问题,升级+换镜像基本能搞定。

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

火山引擎 最新活动