部署Firebase functions报EACCES权限拒绝如何解决
问题描述
执行Firebase项目部署操作时抛出如下错误:
Error: EACCES: permission denied, open '/root/.config/configstore/firebase-tools.json'
已尝试使用root权限执行部署相关操作,问题仍未解决,错误截图如下:
故障原因
该报错由configstore配置目录权限配置异常导致。通常是之前混用sudo和普通用户身份执行firebase命令,造成配置文件所有者错乱,即使后续切换root身份执行,也可能因残留权限位异常、目录锁等问题触发访问拒绝。日常开发操作不建议直接使用root账号执行部署类命令,极易触发此类权限问题。
修复步骤
按顺序执行以下操作即可解决:
- 先修正当前用户配置目录的权限归属,执行命令:
sudo chown -R $USER:$USER ~/.config/
如果当前登录的是root账号,先切回日常开发用的普通用户账号再执行上述命令,后续所有firebase操作都在普通用户下执行,不要加sudo。
- 若执行完上述命令仍报错,直接删除已损坏的配置缓存目录,firebase-tools下次启动时会自动生成全新的合法配置:
sudo rm -rf /root/.config/configstore/ ~/.config/configstore/
- 重新执行部署命令即可:
firebase deploy
- 如果后续执行命令时提示npm全局包权限不足,不要加sudo安装,先修复npm全局目录权限,再重新安装firebase-tools:
npm install -g firebase-tools
内容的提问来源于stack exchange,提问作者BartGraphics.
相关产品推荐
相关产品推荐


