10.13版本加強(qiáng)了權(quán)限的限制,尤其是對(duì)/usr/local目錄吁讨,默認(rèn)開(kāi)通 SIP (System Intergrity Protection)届巩,它禁止了軟件以root身份在Mac上運(yùn)行,不管你是在終端中如何運(yùn)行
$ sudo chown -R $(whoami) /usr/local 偏瓤,返回給你的就是 chown: Operation not permitted杀怠,哪怕你是用root的身份。
有些軟件在運(yùn)行過(guò)程中需要對(duì)/usr/local下的文件讀寫(xiě)厅克,比如你更新ruby赔退,起因是我要通過(guò)homebrew來(lái)安裝zookeeper
brew install zookeeper
運(yùn)行后下載了zookeeper,但是安裝過(guò)程中证舟,報(bào)了一個(gè)ruby的錯(cuò)誤(原諒我沒(méi)有截圖)硕旗,大意是ruby 2.3.0已經(jīng)不被High Sierra支持了,看樣子是要更新ruby
順序做了一些操作女责,都沒(méi)有起什么作用
rvm -v 發(fā)現(xiàn)是1.19.3版本最新的已經(jīng)到1.29.3了
ruby -v 版本是2.3.0漆枚,最新已經(jīng)到2.4.2了
rvm install 2.4.2 也是由于權(quán)限問(wèn)題安裝不了
看來(lái)只有關(guān)掉SIP了
1.重啟Mac,按住Command + R鍵直到Apple Logo出現(xiàn)抵知,進(jìn)入Recovery Mode模式(我感覺(jué)我是按了好半天)
2.點(diǎn)擊工具里的Terminal(終端)
3.輸入csrutil disable墙基,之后回車(chē)
4.重啟Mac
5.重啟完成后昔榴,終端中輸入 sudo chflags norestricted /usr/local && sudo chown -R $(whoami):admin /usr/local
成功執(zhí)行,沒(méi)有報(bào)操作不允許了
(如果想重新開(kāi)啟安全設(shè)置碘橘,則重復(fù)1互订、2步驟,輸入csrutil enable就可以了)
更新rvm工具:curl -L get.rvm.io | bash -s stable
rvm install 2.4.2
(這次可以正確安裝ruby了痘拆,別問(wèn)我為什么是2.4.2版本)
然后就是安裝zookeeper
brew install zookeeper
(這次也正確安裝了)
后來(lái)又重啟過(guò)一次仰禽,發(fā)現(xiàn)我的mysql不能開(kāi)機(jī)啟動(dòng)了
在系統(tǒng)偏好設(shè)置最下方找到MySQL的圖標(biāo),打開(kāi)后發(fā)現(xiàn)mysql已經(jīng)停止纺蛆,且有一行警告:the /usr/local/mysql/data directory is not owned by the 'mysql' or '_mysql' user
這個(gè)好辦:sudo chown -R mysql /usr/local/mysql/data
然后就可以啟動(dòng)mysql了