前言
這個問題已經碰到幾次了,每次都需要現查,因此先記錄下來。
原因
造成我們工具失效的主要原因就是,我們系統中得一些目錄,被系統系統強制剝奪了寫的權限。這么做蘋果是出于安全的考慮,這樣即使我們無意中給了第三方的軟件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/