执行npm start报错errno:-4058,提示找不到C:\Users\All Users路径如何解决?
报错原因
该报错为Windows系统独有问题,react-scripts启动时会默认扫描系统用户目录读取全局配置,过程中误触发了C:\Users\All Users这个系统隐藏交接点的访问校验。该路径并非真实存在的用户目录,是Windows为兼容旧版程序预留的符号链接,默认无普通用户访问权限,因此触发文件不存在报错。
可行解决办法
- 方案1(推荐,无系统修改)
在项目根目录新建.env文件,写入以下配置:
SKIP_PREFLIGHT_CHECK=true BROWSER=none
保存后重新执行npm start即可。该配置仅跳过react-scripts启动阶段的冗余全局校验,完全不会影响项目的开发、打包功能。
- 方案2(修复npm全局配置指向)
打开命令提示符,执行以下两条命令(将命令中的你的真实用户名替换为你电脑C:\Users路径下对应的账户文件夹名称):
npm config set prefix "C:\Users\你的真实用户名\AppData\Roaming\npm" npm config set cache "C:\Users\你的真实用户名\AppData\Roaming\npm-cache"
执行完成后,删除项目下的node_modules文件夹、package-lock.json文件,重新执行npm install安装依赖后再启动服务即可。
- 方案3(仅前两个方案无效时使用)
打开管理员权限的命令提示符,执行以下命令给该系统交接点开放读取权限:
icacls "C:\Users\All Users" /grant Everyone:R /L
执行完成后直接重启服务即可。该操作会修改系统路径默认权限,建议操作前提前创建系统还原点。
内容的提问来源于stack exchange,提问作者gghosts
相关产品推荐
相关产品推荐

