Bug记录:ionic sever:permission denied

其实一直以来ionic安装,包括后来的ionic2的安装都十分坎坷【大概天生自带安装和配环境出问题体质?

一路上简直就是拆东墙补西墙,跌跌撞撞,出现的问题记都记不完(太不专业了!怎么能不记录!),然后,其中遗留下一个,是一直没有修改的,优先级比较低被我略过的权限问题。

开始时ionic新建项目老失败,后来在stackoverflow上看到的回答,那些命令都一个一个去试,最后用sudo解决了办法,就是管理员权限。看似一劳永逸啊,用了这个方法之后,不管是npm install还是ionic serve都需要在前面加sudo,不然就会报错

Error: EACCES: permission denied,open '/Users/escawn/.config/configstore/bower-github.json'
You don't have access to this file.

多么冰冷无情!看到error我心都要碎了。
所以!办法一来了!

办法一
sudo ionic serve

既然你说我没权限,那我就以最高权限运行咯,这样总行了吧。

这个办法确实能解决一时的问题,但是用sudo也带来了很多麻烦。

据亲身检测:

  1. 在文件夹内修改/新增/删除任何文件,都要输一遍密码(这段时期以来我输密码的速度比平均打字速度快了十倍!)
  2. 没有权限的情况下,编辑器/IDE无法正常操作写代码(atom在输入密码的情况下可新建/修改/保存文件,但是无法新建文件夹;webstorm无法对文件进行操作。)
  3. 作为仓库在向github push的时候会出问题,(这也是我下定决心解决权限问题的导火索)简直就是个死循环,因为github的user和文件的user不一致啊。用sudo进行push,github这边查不到你的身份,因为此时你是管理员;但是不用,又根本没办法对文件进行操作!天!

胶着许多,我再回到报错信息,发现
open '/Users/escawn/.config/configstore/bower-github.json'
这个文件有什么问题吗?经过stackflow的寻找,执行命令

ls -l in /Users/escawn/.config/configstore

查看到了权限

total 40
-rw-------  1 root    staff   2  8 13 17:35 bower-github.json
-rw-------  1 root    staff  47  8 10 10:49 insight-cordova.json
-rw-------  1 escawn  staff  55  5  2 14:22 typings.json
-rw-------  1 root    staff  55  8 10 10:49 update-notifier-cordova.json
-rw-------  1 escawn  staff  55  5  2 14:22 update-notifier-typings.json

这就是根源所在!权限不一致!于是办法二来了

办法二
sudo chown -R escawn .config/

使用chown把所有权限改在用户escawn下,然后再试一次ionic serve项目就能正常运行啦~

试试git push 也没问题~

总结

对于报错,一定要仔细看信息!看细节!根据细节思考问题所在!【反省完毕



补充(8.14更新):

今天在新建项目的时候依然报错了,然后我依然使用了sudo新建项目。结果之后按照上述方法,能够使ionic serve正常运行,更改文件依然是没有权限。

然后我如法炮制,在项目文件里寻找带config名的配置文件,找到了.editorconfig,打开一看,里面第二句话是

root = true

诶诶,这有点不对吧?以防万一,我试着查看权限

ls -l in /Users/escawn/Documents/life-helper/.editorconfig

结果显示:

-rw-rw-rw-  1 root  staff  242  8 14 20:03 /Users/escawn/Documents/life-helper/.editorconfig

果不其然!然后,更改权限

sudo chown -R escawn /Users/escawn/Documents/

接着再查看

-rw-rw-rw-  1 escawn  staff  242  8 14 20:03 /Users/escawn/Documents/life-helper/.editorconfig

这回成功了试着删除文件,更改文件也没问题✌️

你可能感兴趣的:(Bug记录:ionic sever:permission denied)