前言:因为 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的机器对比,确实能显示两个安装路径了
五、安装一个来测试一下