Ubuntu 20.04下npm start提示react-scripts未找到,求解决方案
解决「sh: 1: react-scripts: not found」错误的有效方案
问题背景
系统:Ubuntu 20.04
Node.js版本:v18.17.1
npm版本:v9.6.7
运行React项目时触发错误:sh: 1: react-scripts: not found,已重装Node.js/npm无效,全局安装react-scripts时出现大量依赖废弃警告,参考第三方方案还触发漏洞错误。
解决方案
1. 修复本地依赖(核心方案)
全局安装react-scripts无法替代项目本地依赖,优先处理项目内的依赖问题:
- 删除本地依赖目录和锁定文件:
rm -rf node_modules rm package-lock.json - 清理npm缓存,避免缓存导致的异常:
npm cache clean --force - 重新安装项目所有依赖:
npm install - 尝试启动项目:
npm start
2. 手动安装本地react-scripts
如果上述步骤无效,直接指定安装项目本地的react-scripts:
npm install react-scripts --save
安装完成后再次执行npm start启动项目。
3. 移除全局react-scripts避免冲突
若之前全局安装过react-scripts,可能导致版本冲突,建议卸载:
sudo npm uninstall -g react-scripts
项目的package.json中scripts字段的start命令默认会调用本地node_modules内的react-scripts,无需全局依赖。
4. 用nvm管理Node版本(规避权限/版本兼容问题)
全局使用sudo执行npm命令容易引发权限和版本兼容问题,推荐用nvm管理Node.js版本:
- 安装nvm后,切换到当前项目所需的Node.js版本(v18.17.1):
nvm use 18.17.1 - 再重新执行依赖安装和项目启动步骤,可避免大部分权限相关的异常。
关于依赖废弃警告的说明
全局安装react-scripts时出现的废弃警告,是因为全局版本的依赖包未及时更新,而项目本地安装的react-scripts会匹配当前create-react-app的稳定版本,废弃警告会大幅减少或消失,因此不推荐全局安装react-scripts。
内容的提问来源于stack exchange,提问作者Berre Sena KIRAÇ
相关产品推荐
相关产品推荐

