Ionic在Android设备运行应用时遇EACCES权限错误求助
解决Ionic/Cordova运行Android时的EACCES权限错误
嘿,我之前也踩过这个坑!你碰到的EACCES: permission denied错误,本质是你的普通用户没有权限访问/home/sevenbits/.config/configstore/insight-cordova.json这个文件——大概率是之前用sudo全局安装Cordova时,生成的配置文件所有权属于root用户导致的。
下面是几个靠谱的解决办法:
方法1:直接修改文件所有权(快速解决当前问题)
先确认一下文件的所有者:
ls -l /home/sevenbits/.config/configstore/insight-cordova.json
如果输出里的所有者是root,就执行下面的命令把整个configstore目录的权限转成你的用户:
sudo chown -R sevenbits:sevenbits /home/sevenbits/.config/configstore
这个命令会递归修改目录下所有文件和子目录的所有者为你的用户名(sevenbits)和对应的用户组,之后你再运行ionic cordova run android就不会有权限问题了。
方法2:配置npm全局目录(从根源避免权限问题)
如果你经常用sudo安装全局npm包,很容易反复碰到这类权限问题。建议把npm的全局目录配置到你的用户目录下:
- 创建专属的npm全局目录:
mkdir ~/.npm-global - 告诉npm使用这个目录作为全局安装路径:
npm config set prefix '~/.npm-global' - 把这个目录添加到系统PATH里,编辑
~/.bashrc或者~/.profile文件,添加一行:export PATH=~/.npm-global/bin:$PATH - 刷新配置让修改生效:
source ~/.bashrc - 之后再全局安装Cordova、Ionic这类工具时,就不用加
sudo了,直接运行:npm install -g cordova ionic
方法3:临时用sudo运行(不推荐)
如果只是临时急着测试,可以试试:
sudo ionic cordova run android
但这个方法只是治标不治本,后续安装其他包或者生成配置文件时,还是会出现权限问题,所以不建议长期使用。
内容的提问来源于stack exchange,提问作者Riddhi Shah
相关产品推荐
相关产品推荐

