Ubuntu 20.04下执行npm start启动React项目报spawn brave ENOENT错误
错误原因
ENOENT是Error NO ENTry的缩写,报错spawn brave ENOENT说明React启动脚本尝试调用Brave浏览器打开页面时,在当前用户的环境变量路径中找不到brave可执行文件。sudo可以正常执行的原因是root用户的环境变量路径包含Brave的可执行文件位置,调用时可以正常找到。
可用解决方案
- 方案一:临时禁用自动打开浏览器
启动时执行命令:BROWSER=none npm start,启动后手动打开浏览器访问http://localhost:3000即可,无需修改任何配置。 - 方案二:全局配置默认浏览器路径
- 先查询Brave浏览器的实际安装路径,执行命令:
which brave-browser - 打开当前用户的shell配置文件,使用bash的用户编辑
~/.bashrc,使用zsh的用户编辑~/.zshrc,在文件末尾追加一行:export BROWSER="你上一步查询到的Brave路径" - 执行
source ~/.bashrc(对应你使用的shell配置文件)让配置生效,之后执行npm start即可正常运行。
- 先查询Brave浏览器的实际安装路径,执行命令:
- 方案三:项目级配置禁用自动开浏览器
在项目根目录创建.env文件,写入内容:BROWSER=none,保存后重启npm start即可,该配置仅对当前项目生效。 - 方案四:创建brave命令软链接
执行命令:sudo ln -s $(which brave-browser) /usr/local/bin/brave,给Brave创建全局可访问的软链接,配置后所有用户都可以直接调用brave命令,无需sudo即可正常启动项目。
内容的提问来源于stack exchange,提问作者prezzma info
相关产品推荐
相关产品推荐

