使用create-react-app在不同Node.js版本下创建React应用失败求助
解决Ubuntu 18.04下nvm切换Node.js版本创建React应用失败的问题
问题根源分析
- Node.js v18+版本报错:Ubuntu 18.04默认依赖的GLIBC版本为2.27,而Node.js 18+要求GLIBC 2.28及以上,因此无法在该系统版本下运行Node.js 18+。
- Node.js v14.x安装卡住:大概率是之前执行
sudo npm clean -f导致npm缓存目录权限异常,或网络问题引发依赖元数据获取阻塞。 - Node.js v16.19.0安装终止:缓存损坏、权限错误或网络波动导致react-scripts相关依赖安装中断,fsevents作为macOS专属包,Linux环境下安装时的缓存异常也可能触发终止逻辑。
具体解决方案
1. 修复npm权限问题
由于使用sudo执行npm命令会改变用户目录下缓存和模块的权限,先重置权限:
sudo chown -R $USER:$USER ~/.npm sudo chown -R $USER:$USER ~/.nvm
2. 清理缓存并重置npm配置
清理损坏的缓存,恢复默认配置以避免网络代理等干扰:
npm cache clean --force npm config delete proxy npm config delete https-proxy npm config set registry https://registry.npmjs.org/
3. 使用兼容Ubuntu 18.04的Node.js版本
选择Node.js 16.x LTS版本(如16.20.2,16分支的最后一个稳定版),该版本兼容Ubuntu 18.04的GLIBC版本:
nvm install 16.20.2 nvm use 16.20.2
4. 手动安装React依赖
跳过create-react-app的自动安装流程,手动初始化项目并安装依赖,避免自动脚本的异常终止:
mkdir react-deploy && cd react-deploy npm init -y npm install react react-dom react-scripts cra-template --save-exact
若网络较慢导致安装失败,可切换国内镜像加速:
npm config set registry https://registry.npmmirror.com/ npm install react react-dom react-scripts cra-template --save-exact
5. 验证安装
在package.json中添加启动脚本:
"scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }
执行npm start验证应用是否正常启动。
内容的提问来源于stack exchange,提问作者naraghi
相关产品推荐
相关产品推荐

