其實(shí)一直以來ionic安裝翘鸭,包括后來的ionic2的安裝都十分坎坷【大概天生自帶安裝和配環(huán)境出問題體質(zhì)你弦?
一路上簡直就是拆東墻補(bǔ)西墻待牵,跌跌撞撞吃型,出現(xiàn)的問題記都記不完(太不專業(yè)了前联!怎么能不記錄9ζ荨),然后似嗤,其中遺留下一個(gè)啸臀,是一直沒有修改的,優(yōu)先級(jí)比較低被我略過的權(quán)限問題烁落。
開始時(shí)ionic新建項(xiàng)目老失敗乘粒,后來在stackoverflow上看到的回答,那些命令都一個(gè)一個(gè)去試伤塌,最后用sudo解決了辦法灯萍,就是管理員權(quán)限∶看希看似一勞永逸啊旦棉,用了這個(gè)方法之后,不管是npm install
還是ionic serve
都需要在前面加sudo药薯,不然就會(huì)報(bào)錯(cuò)
Error: EACCES: permission denied他爸,open '/Users/escawn/.config/configstore/bower-github.json'
You don't have access to this file.
多么冰冷無情!看到error我心都要碎了果善。
所以诊笤!辦法一來了!
辦法一
sudo ionic serve
既然你說我沒權(quán)限巾陕,那我就以最高權(quán)限運(yùn)行咯讨跟,這樣總行了吧纪他。
這個(gè)辦法確實(shí)能解決一時(shí)的問題,但是用sudo也帶來了很多麻煩晾匠。
據(jù)親身檢測:
- 在文件夾內(nèi)修改/新增/刪除任何文件茶袒,都要輸一遍密碼(這段時(shí)期以來我輸密碼的速度比平均打字速度快了十倍!)
- 沒有權(quán)限的情況下凉馆,編輯器/IDE無法正常操作寫代碼(atom在輸入密碼的情況下可新建/修改/保存文件薪寓,但是無法新建文件夾;webstorm無法對(duì)文件進(jìn)行操作澜共。)
- 作為倉庫在向github push的時(shí)候會(huì)出問題向叉,(這也是我下定決心解決權(quán)限問題的導(dǎo)火索)簡直就是個(gè)死循環(huán),因?yàn)間ithub的user和文件的user不一致啊嗦董。用sudo進(jìn)行push母谎,github這邊查不到你的身份,因?yàn)榇藭r(shí)你是管理員京革;但是不用奇唤,又根本沒辦法對(duì)文件進(jìn)行操作!天匹摇!
膠著許多咬扇,我再回到報(bào)錯(cuò)信息,發(fā)現(xiàn)
open '/Users/escawn/.config/configstore/bower-github.json'
這個(gè)文件有什么問題嗎廊勃?經(jīng)過stackflow的尋找懈贺,執(zhí)行命令
ls -l in /Users/escawn/.config/configstore
查看到了權(quán)限
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
這就是根源所在!權(quán)限不一致供搀!于是辦法二來了
辦法二
sudo chown -R escawn .config/
使用chown把所有權(quán)限改在用戶escawn下隅居,然后再試一次ionic serve
項(xiàng)目就能正常運(yùn)行啦~
試試git push 也沒問題~
總結(jié)
對(duì)于報(bào)錯(cuò),一定要仔細(xì)看信息葛虐!看細(xì)節(jié)胎源!根據(jù)細(xì)節(jié)思考問題所在!【反省完畢
補(bǔ)充(8.14更新):
今天在新建項(xiàng)目的時(shí)候依然報(bào)錯(cuò)了屿脐,然后我依然使用了sudo
新建項(xiàng)目涕蚤。結(jié)果之后按照上述方法,能夠使ionic serve
正常運(yùn)行的诵,更改文件依然是沒有權(quán)限万栅。
然后我如法炮制,在項(xiàng)目文件里尋找?guī)?code>config名的配置文件西疤,找到了.editorconfig
烦粒,打開一看,里面第二句話是
root = true
誒誒,這有點(diǎn)不對(duì)吧扰她?以防萬一兽掰,我試著查看權(quán)限
ls -l in /Users/escawn/Documents/life-helper/.editorconfig
結(jié)果顯示:
-rw-rw-rw- 1 root staff 242 8 14 20:03 /Users/escawn/Documents/life-helper/.editorconfig
果不其然!然后徒役,更改權(quán)限
sudo chown -R escawn /Users/escawn/Documents/
接著再查看
-rw-rw-rw- 1 escawn staff 242 8 14 20:03 /Users/escawn/Documents/life-helper/.editorconfig
這回成功了試著刪除文件孽尽,更改文件也沒問題??