create-react-app安装失败:依赖版本不兼容+注册表异常求助
解决方案:create-react-app 安装失败问题排查与修复
针对你遇到的依赖版本匹配异常和注册表响应错误问题,结合你的环境信息,我整理了几个针对性的修复步骤,你可以逐一尝试:
1. 清理 Yarn 缓存,解决依赖索引异常
Yarn 的缓存可能存储了过时的依赖信息,导致无法正确定位 require-from-string@^1.1.0。先执行缓存清理:
yarn cache clean
清理完成后,回到项目目录重新执行安装命令,或者直接重新创建项目:
npx create-react-app my-app
2. 切换使用 npm 安装,规避 Yarn 交互选择 bug
你提到无法用箭头键选中版本选项,这大概率是旧版本 Yarn 的交互兼容性问题。可以切换到 npm 完成安装:
- 如果已经生成了
yarn.lock文件,先将其删除 - 执行 npm 安装命令:
npm install
或者在创建项目时直接指定使用 npm:
npx create-react-app my-app --use-npm
3. 手动指定依赖版本,满足 react-scripts 的要求
既然 react-scripts@1.0.17 明确依赖 require-from-string@^1.1.0,你可以先手动安装这个特定版本,再安装 react-scripts:
- 创建并进入项目目录:
mkdir my-react-app && cd my-react-app
- 手动安装指定版本的依赖:
yarn add require-from-string@1.1.0
- 再安装 react-scripts:
yarn add react-scripts@1.0.17
4. 切换注册表,解决响应格式错误
出现 pinkie-promise、timed-out 的注册表响应错误,说明当前使用的注册表不稳定或格式异常。可以切换到官方注册表试试:
- 对于 npm:
npm config set registry https://registry.npmjs.org/
- 对于 Yarn:
yarn config set registry https://registry.npmjs.org/
切换完成后重新执行安装操作。
5. 升级依赖或 Node 版本(长期解决方案)
你的 Node.js v9.2.0 和 react-scripts v1.0.17 都属于较旧版本,存在兼容性隐患。如果环境允许:
- 升级 Node.js 到适配 OSX 10.12.6 的 LTS 版本(最高支持 Node.js v14.x LTS)
- 使用最新版 create-react-app 创建项目:
npx create-react-app@latest my-app
新版本工具链修复了大量旧版本的依赖问题,能从根源避免这类安装故障。
内容的提问来源于stack exchange,提问作者Gerard




