今天用cocoapods 导入友盟社会化组件时,发现 https://ruby.taobao.org/ 已经停止更新,更改为 https://gems.ruby-china.org/ 借机整理一下cocoapods 的卸载、安装及重装等问题。
一、 全新安装前,先检查是否有安装残留。
- 如果之前安装过 cocoapods ,最好先卸载掉,卸载命令:
$ sudo gem uninstall cocoapods - 查看本地安装过的 cocoapods 相关东西,命令如下:
$ gem list --local | grep cocoapods
会显示如下:
cocoapods-core (0.39.0)
cocoapods-downloader (0.9.3)
cocoapods-plugins (0.4.2)
cocoapods-search (0.1.0)
cocoapods-stats (0.6.2)
cocoapods-trunk (0.6.4)
cocoapods-try (0.5.1)
然后按提示删除
- 先把Mac隐藏文件夹显示出来,Mac隐藏和显示的命令如下:
defaults write com.apple.finder AppleShowAllFiles -bool true ( 隐藏)
defaults write com.apple.finder AppleShowAllFiles -bool false( 显示)
- 退出终端,重启 Finder
二 、总体步骤: rvm --> ruby -- > cocoapods
- 安装RVM
$ curl -L https://get.rvm.io | bash -s stable
安装完成后载入RVM环境
$ source ~/.rvm/scripts/rvm
检查是否安装正确
$ rvm -v rvm 1.22.17 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
- 用 RVM 安装 Ruby 环境
列出已知的ruby 版本
$ rvm list known
选择安装版本
$ rvm install 2.0.0
查看已经安装的ruby
$ rvm list
卸载一个已安装版本
$ rvm remove 1.9.2
设置ruby 默认版本
$ rvm 2.0.0 --default
检测是否正确
$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin13.0.0]
$ gem -v
2.1.6
- 确定镜像源
查询当前镜像源
$ gem sources -l
替换镜像源
$ gem source -r https://rubygems.org/
$ gem source -a https://ruby.taobao.org/ 最新为 https://gems.ruby-china.org/
gem source -a https://gems.ruby-china.com
验证是否成功替换
$ gem sources -l
正常的输出结果:
CURRENT SOURCES
http://ruby.taobao.org/
- 安装 cocoapods
sudo gem install cocoapods
//如果显示失败则可以尝试
sudo gem install cocoapods -n /usr/local/bin
pod setup
三、 注意事项
- 新的镜像 https://gems.ruby-china.org/ 建议用比较新的 RubyGems 版本,最好是 2.6.x 以上。
$ gem update --system #升级gem
$ gem -v
2.6.3
- 最好确保只有一个镜像源
$ gem sources --add https://gems.ruby-china.org/
--remove https://rubygems.org/
$ gem sources -l
https://gems.ruby-china.org
- 版本示例
pod 'AFNetworking', '2.0' //只使用2.0版本
pod 'AFNetworking', '> 2.0' //使用高于2.0的版本
pod 'AFNetworking', '>= 2.0' //使用大于或等于2.0的版本
pod 'AFNetworking', '< 2.0' //使用小于2.0的版本
pod 'AFNetworking', '<= 2.0' //使用小于或等于2.0的版本
pod 'AFNetworking', '~> 0.1.2' //使用大于等于0.1.2但小于0.2的版本
pod 'AFNetworking', '~>0.1' //使用大于等于0.1但小于1.0的版本
pod 'AFNetworking', '~>0' //使用最新版本,与不显示指定依赖库版本相同
网友评论