前言
前段時(shí)間電腦升級(jí)了Mojave晦譬,被其切換界面锡溯,輸入法找不到焦點(diǎn)的bug折磨的死去活來(lái)谋梭,后來(lái)實(shí)在難以忍受只得裝回了10.13信峻,在安裝node的時(shí)候卻出現(xiàn)了問(wèn)題,npm全局裝包的時(shí)候瓮床,權(quán)限問(wèn)題盹舞,權(quán)限問(wèn)題,簡(jiǎn)直讓人瘋狂隘庄。
原因
究其原因踢步,罪魁禍?zhǔn)拙褪荗SX10.11之后推出的Rootless機(jī)制,一個(gè)內(nèi)核保護(hù)措施丑掺,系統(tǒng)默認(rèn)會(huì)鎖定/system
获印、/sbin
零远、/usr
這三個(gè)目錄紧唱,帶來(lái)的后果就是,當(dāng)你安裝一些需要操作這三個(gè)目錄的包的時(shí)候就會(huì)出現(xiàn)Operation not permitted之類的錯(cuò)誤笆载,即使你sudo授權(quán)依然無(wú)效唆缴。
處理Rootless
1鳍征、查看是否開(kāi)啟了Rootless
在終端輸入如下命令即可
csrutil status
如果顯示的是System Integrity Protection status: disabled
.則表示沒(méi)有開(kāi)啟。
如果顯示的是System Integrity Protection status: enabled
.則表示已開(kāi)啟琐谤。
2蟆技、關(guān)閉Rootless
重啟Mac,在聽(tīng)到經(jīng)典的啟動(dòng)聲后斗忌,按下command+R
進(jìn)入恢復(fù)模式质礼,在菜單欄中實(shí)用工具找到終端(Terminal),輸入如下指令
csrutil disable; reboot
電腦會(huì)重新啟動(dòng)织阳,進(jìn)入系統(tǒng)后可以使用1的方法查看是否關(guān)閉成功眶蕉。
3、開(kāi)啟Rootless
方式和2一致唧躲,只是指令換成如下:
csrutil enable; reboot
最后
到上面關(guān)于Rootless的處理就結(jié)束了造挽,最后再附加一個(gè)有朋友遇到的安裝一些破解軟件無(wú)法安裝的問(wèn)題碱璃,這是因?yàn)樵诎踩耘c隱私里面,現(xiàn)在的mac系統(tǒng)(10.12之后)默認(rèn)沒(méi)有了允許任何來(lái)源饭入,想要打開(kāi)的話嵌器,只需在終端輸入如下命令:
sudo spctl --master-disable
當(dāng)然如果為了安全考慮,你也可以在安裝完了你需要的軟件之后谐丢,重新關(guān)閉掉爽航,命令如下:
sudo spctl --master-enable