今天遇到了一个非常变态的问题,所有涉及到操作缓存文件的都有提示operation not permitted。找了很多的解决方案,简单记述一下折腾的过程。


怀疑与bundler有关?

主要原因是之前出过很多次环境问题,都跟bundler有关,而且它是安装ruby包的必须插件,但是排查许久,也不能确定修改哪里可以解决,直到看到了一篇文章,说是因为需要修改.bundle/config,但是找不到这个目录作罢。

确定是El Capitan 加入了Rootless机制,设置 root 权限也不行。

于是尝试关闭 Rootless。重启按住 Command+R,进入恢复模式,打开Terminal。

1
csrutil disable

重启即可。如果要恢复默认,那么

1
csrutil enable

遇到新问题SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

解决:简单讲升级ruby即可
1、安装rvm

1
2
3
echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db
curl -L https://get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm

2、安装ruby

1
rvm install 2.3.1 --disable-binary

3、安装bundler升级gem

1
2
gem install bundler -v 1.13.4
sudo gem update --system

4、安装fastlane

1
sudo gem install fastlane

5、默认ruby版本

1
rvm 2.2.1 --default

总结一下遇到问题不能慌,慌也没用。。。。