前言:因爲 iOS 打包需要在打包腳本中加上gem install命令,但是本機環境提示 You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory. ,下面列一下解決步驟,以避免日後踩坑。並記得多思考下還有沒有更好更快的解決方案~
一、由於之前已經手工安裝過,這裏給一下安裝的命令,參考https://gems.ruby-china.com/
$ gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/ $ gem sources -l https://gems.ruby-china.com # 確保只有 gems.ruby-china.com
二、接着使用 gem install時,便出現了這個惡魔😈
也想過直接升級gem,但出現了
young:~ Lizhi$ sudo gem update --system
Password:
Updating rubygems-update
Fetching: rubygems-update-2.7.7.gem (100%)
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.
young:~ Lizhi$
三、查找資料,原因是無法在該目錄下寫文件,因爲你使用的系統自帶的 ruby,每次sudo也不現實。所以決定使用 homebrew 多安裝一個 ruby,就能夠得到寫入權限,安裝成功後查看新安裝ruby的路徑,天真地以爲把這個路徑設置在usr/bin前面就能爲所欲爲
把/usr/local/Cellar設置在usr/bin 前面,但是安裝gem時還是會安裝到系統目錄下
You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.
四、所以懷疑,是不是用 homebrew 安裝也不能使用,於是和可以使用gem install的另一臺機器對比(老機器不是我搞的,只能一個個對比=^=)
1、brew list ruby正常
2、對比本地機器
3、重點來了!!!發現一個命令 brew info ruby,
把ruby_home=/usr/local/opt/ruby/bin
和能使用 gem install的機器對比,確實能顯示兩個安裝路徑了
五、安裝一個來測試一下