前言
这个问题已经碰到几次了,每次都需要现查,因此先记录下来。
原因
造成我们工具失效的主要原因就是,我们系统中得一些目录,被系统系统强制剥夺了写的权限。这么做苹果是出于安全的考虑,这样即使我们无意中给了第三方的软件root权限也没事(毕竟大多数人,只要需要密码就会输入)。这种机制称为rootless.
解决方式
1 关闭rootless模式
2 安装到别的目录
既然我们没有权限,那么一种方式是关闭这个rootless模式。但考虑到开着可能更好。因此我推荐第二种方式,安装到别的目录。
下面的命令可以列出安装了哪些gems,我们在重新安装cocoapods前可以列出来看看
gem list
下面的命令对已有的cocoapods组件进行卸载,如果有多个版本会进行选择
sudo gem uninstall cocoapods
sudo gem uninstall cocoapods-plugins cocoapods-try cocoapods-stats cocoapods-trunk cocoapods-core cocoapods-deintegrate cocoapods-downloader cocoapods-search
下面的命令在新的目录安装cocoapods
sudo gem install -n /usr/local/bin cocoapods
下面的命令安装指定版本的gems
sudo gem install -n /usr/local/bin cocoapods -v 0.38.2
一般我们在国内使用淘宝的gem源
下面的命令列出当前添加的源
gem sources -l
下面的命令去除官方的源
gem sources --remove https://rubygems.org/
下面的命令添加淘宝的源,目前淘宝已经使用https
gem sources -a https://ruby.taobao.org/