修改于:2017.1.10
我们实际过程中会遇到很多的问题,并且各式各样,特别是各种系统、工具版本升级后遇到的问题,最后的杀手锏就是彻底删干净,重装。
一. 移除pod组件
这条指令会告诉你Cocoapods组件装在哪里 :

$ which pod

/Users/galahad/.rvm/gems/ruby-2.2.2/bin/pod

/usr/local/bin/pod

你可以手动移除这个组件 :
sudo rm -rf <组件的路径>
sudo rm -rf  /Users/galahad/.rvm/gems/ruby-2.2.2/bin/pod
sudo rm -rf  /usr/local/bin/pod
 
二. 移除 RubyGems 中的 Cocoapods程序包

Q: RubyGems是什么?

A: RubyGems(简称 gems)是一个用于对 Ruby组件进行打包的系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。

 查看gems中本地程序包
 $ gem list

发现Cocoapods的程序包

cocoapods (1.1.1)

cocoapods-core (1.1.1)

cocoapods-deintegrate (1.0.1)

cocoapods-downloader (1.1.2)

cocoapods-plugins (1.0.0)

cocoapods-search (1.0.0)

cocoapods-stats (1.0.0)

cocoapods-trunk (1.1.1)

cocoapods-try (1.1.0)

移除程序包
$sudo gem uninstall cocoapods -v 1.1.1
需要将cocoapods相关的全部移除,就要执行一个个的删除命令,仿照上面依次删除。
注意:这一步很重要,在按照本文进行操作的时候,干脆在这里就全部删掉好了,不要偷懒,我偷懒的结果就是终端进程杀掉以后,再进来的话就报如下错误:find_spec_for_exe': can't find gem cocoapods (>= 0.a) (Gem::GemNotFoundException) from /Users/sibo/.rvm/rubies/ruby-2.3.3-p648/lib/ruby/site_ruby/2.3.3/rubygems.rb:278:inactivate_bin_path'
解决方式就是全部删掉,然后重装,省事。

三、ruby版本是否合适?干脆重装

使用RVM也就是Ruby Version Manager,Ruby版本管理器来升级ruby,RVM包含了Ruby的版本管理和Gem库管理(gemset)。

RVM安装

1、RVM安装

$ curl -L get.rvm.io | bash -s stable

2、之后就是等待一段时间之后,就可以安装成功了,使用以下命令来验证

$ source ~/.bashrc

$ source ~/.bash_profile

3、测试是否安装正常

$ rvm -v

出现rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]就算成功了。

使用RVM升级Ruby

1、查看当前ruby版本

$ ruby -v

这一步会显示出来当前ruby的版本

ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]

2、列出已知ruby的版本

$ rvm list known

我的电脑上面会出现下面这些信息:

Warning, new version of rvm available '1.28.0', you are using older version '1.27.0'.

You can disable this warning with:    echo rvm_autoupdate_flag=0 >> ~/.rvmrc

You can enable  auto-update  with:    echo rvm_autoupdate_flag=2 >> ~/.rvmrc

.......

我么先按照提示进行升级。

[ruby-]1.8.6[-p420]

[ruby-]1.8.7[-head] # security released on head

[ruby-]1.9.1[-p431]

[ruby-]1.9.2[-p330]

[ruby-]1.9.3[-p551]

[ruby-]2.0.0[-p648]

[ruby-]2.1[.10]

[ruby-]2.2[.6]

[ruby-]2.3[.3]

[ruby-]2.4[.0-rc1]

ruby-head

其中Ruby 2.4.0 rc1 表示 2.4 首个候选版

我们可以安装2.3.3版本

3、安装ruby 2.3.3

$ rvm install 2.3.3

如果安装如下所示的话,表示已经安装过

$ rvm install 2.3.3

Already installed ruby-2.3.3.

To reinstall use:

rvm reinstall ruby-2.3.3

如果想重新安装的话:rvm reinstall ruby-2.3.3

正常情况下面:

Checking requirements for osx.

Updating Homebrew...

Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.

Requirements installation successful.

以前安装的过程中遇到的问题以及解决方法:

1、homeBrew版本过低

解决方法:sudo chown -R $(whoami):admin /usr/local

输入密码后重新执行brew update,最后提示Already up-to-date的时候,brew本身就更新好了(这个过程比较久).

接着用brew outdated命令查看brew下哪些软件可以进行升级.
然后brew upgrade命令用来升级所以可以升级的软件.
最后记得用brew cleanup来清理不需要的版本及其安装包缓存.
截止目前,brew也被我们更新好了.

2、注意事项:安装CocoaPots的顺序:

Xcode -> homebrew -> RVM -> Ruby -> CocoaPos;
3、在安装的过程中遇到这个红色的问题,可以不用惯,会自动继续执行下去的

Libraries missing for ruby-2.3.3: /Users/travis/.rvm/rubies/ruby-2.3.3/lib/libruby.2.3.0.dylib,/usr/local/opt/gdbm/lib/libgdbm.4.dylib. Refer to your system manual for installing libraries

4、我在安装ruby-2.3.3的时候发现还有一个错误

Error running '__rvm_patch -F 25 -p1 -N -f -i /Users/galahad/.rvm/patches/ruby/2.3.3/openssl3.patch',

showing last 15 lines of /Users/galahad/.rvm/log/1484210020_ruby-2.3.3/patch.apply.openssl3.log

Error running '__rvm_make -j 1',

showing last 15 lines of /Users/galahad/.rvm/log/1484210020_ruby-2.3.3/make.log

dyld: lazy symbol binding failed: Symbol not found: _clock_gettime

Referenced from: /Users/galahad/.rvm/src/ruby-2.3.3/./miniruby (which was built for Mac OS X 10.12)

Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _clock_gettime

Referenced from: /Users/galahad/.rvm/src/ruby-2.3.3/./miniruby (which was built for Mac OS X 10.12)

Expected in: /usr/lib/libSystem.B.dylib

make: *** [.rbconfig.time] Trace/BPT trap: 5

++ return 2

There has been an error while running make. Halting the installation.

安装2.3.3版本的时候,总是报这个错误,才意识到自己的电脑系统还是10.11.6。更新mac系统到最新版本即可。

5、安装2.3.3成功后,路径不对

$ pod install

/Library/Ruby/Site/2.0.0/rubygems.rb:270:in `find_spec_for_exe': can't find gem cocoapods (>= 0.a) (Gem::GemNotFoundException)

from /Library/Ruby/Site/2.0.0/rubygems.rb:298:in `activate_bin_path'

from /usr/local/bin/pod:22:in `<main>'

问题再现描述:关闭终端,再进来就恢复原来的版本了,解决方式对应下面的“ruby安装成功后,路径适配

问题再现描述:关闭终端,再重新启动就出现上面的问题,解决方式:解决路径的适配问题的同时参考上面“移除 RubyGems 中的 Cocoapods程序包”进行解决。

ruby安装成功后,路径适配

需要执行命令:

$ rvm use system

设置回系统默认版本:

$ rvm 2.3.3--default

设置某个版本为默认(前提是这个版本已经安装,如果没有安装的话:rvm install ruby-2.3.3-default 即可

$ ruby -v

ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]

四、然后安装指定版本的Cocoapods

gem install cocoapods --pre  (最新版本,如果最新版不稳定的话,建议不要执行,因为得到的也包括测试版)

也可以指定安装版本:

$ sudo gem install cocoapods -v 1.1.1 

或者直接安装最新正式版本:

$ sudo gem install -n /usr/local/bin cocoapods

安装成功后,可以检查安装的版本
$ pod --version

也可以参考参考:http://www.cnblogs.com/richard-youth/p/4508049.html

Cocoapods更改安装版本及卸载、ruby版本检测和安装的更多相关文章

  1. pip 查看已安装模块、卸载指定模块、安装指定版本模块

    操作背景 最近使用 pandas+numpy+plotly 画heatmap(热力图),来处理股票数据,语法.步骤都没问题,但到画图那一步老是报错,且 plotly 版本为3.1.0: 最后找到原因, ...

  2. ubuntu 下安装软件,卸载,查看已经安装的软件

    参考网址:http://wiki.ubuntu.org.cn/UbuntuSkills 一般的安装程序用三种: .deb 和.rpm 这两种安装文件 .bundle 这是二进制的安装文件 而 tar. ...

  3. windows安装ruby,DevKit安装rails,svn安装

    Ruby on Rails的安装,是从被称为RubyGems的包管理系统开始的.Ruby on Rails是由Ruby处理系统的类库的.被称为“gem”的格式来进行配置的.“gem”形式的类库,通过使 ...

  4. linux 基础入门(8) 软件安装 rpm、yum与源码安装详解

    8.软件 RPM包安装 8.1rpm安装 rpm[选项]软件包名称 主选项 -i 安装 -e卸载 -U升级 -q查找 辅助选项 -ⅴ显示过程 -h --hash 查询 -a-all查询所有安装的包 - ...

  5. 升级 Cocoapods 到1.2.0指定版本,降低版本及卸载

    =====================升级版本=================== CocoaPods 1.1.0+ is required to build SnapKit 3.0.0+. 在 ...

  6. C#winform程序安装时自动卸载新版本覆盖旧版本

    vs2005为winform程序做的安装包.在以有程序旧版本的机子上用新版本的安装包安装软件时提示  “以经安装该产品的另一个版本.无法继续安装此版本........” 在安装部署项目中设“Remov ...

  7. ClickOnce部署疑难杂症:更新时部署与应用程序标识不一致问题。要安装此应用程序,请修改此文件的清单版本或卸载之前存在的应用程序。

    使用ClickOnce部署winform应用程序.无论是安装或者自动更新都极为方便,但有时候一些疑难杂症也令人头疼 1.注意每次部署完成之后 setup.exe无需覆盖,只需要在Application ...

  8. Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)

    Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本) Hive 安装依赖 Hadoop 的集群,它是运行在 Hadoop 的基础上. 所以在安装 Hive 之 ...

  9. Go的安装和使用/卸载/升级、安装指定版本

    mac: 1.brew install go默认安装最新的,更新go也是这条命令,建议这个方法,省事 2.从官网https://golang.org/dl/下载pkg包安装,官方说1.12是最后一个支 ...

随机推荐

  1. CanOpen协议【CanFestival】移植方法 支持VC、QT、STM32

    前段时间学习了CanOpen协议,到网上下载的CanFestival3-10源码,移植到VC.QT.STM32等平台,由于网上的资源较少,走了不少弯路,移植好使用过程中才逐渐暴露出各种问题,比如OD字 ...

  2. 对ArrayList存放的对象,按照对象的某个属性进行排序。

    使用Collections.sort()方法进行实现: import java.util.ArrayList; import java.util.Collections; import java.ut ...

  3. 关于<button> 没写 type='button' 导致点击时提交以及<button>和<input type="button">的区别

    这是我的第一篇博客,如果写的不好,请见谅 这是一个关于button按钮一个小问题 最近刚开学跟着老师一起写代码,在模仿JAVA web程序设计(慕课版) P61页第三章 Ajax处理XML的代码中发现 ...

  4. 2017-2018-1 20155230 mypwd实现

    mypwd实现 每个文件夹都有以".",".."为名的文件.首先记录"."所拥有的i-节点号,然后使用chdir向上进入父目录查找含有刚记录 ...

  5. 20155239 2017-11-19 实现mypwd(选做,加分)

    20155239 2017-11-19 实现mypwd(选做,加分) 题目和要求 学习pwd命令 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 实现mypwd 测试mypwd ...

  6. 2018下学期C语言学习总结

    怎么说呢,2018年下学期已经过去了,2019年的上学期又来了,在2018年没有达到自己想要的结果,希望2019年可以达到,加油!我希望我以后可以又快又准确的完成C语言的编程,学习好所以关于电脑的基础 ...

  7. c++ 变量 常量

  8. 9.12 开课第9天 (JS脚本语音:基础语法、语句)

    全称JavaScript    网页里面使用的脚本语音      非常强大的语言 基础语法:1.注释语法   单行注释//    多行注释/**/ 2.输出语法   alert(信息);  弹出信息  ...

  9. 【转载】特殊宏://{{AFX_MSG、//{{AFX_VIRTUAL、//{{AFX_MSG_MAP、//{{AFX_DATA_INIT

    原文:http://yyguangzheng.blog.163.com/blog/static/603488402014102215153610/ 说明:这篇日志我不知道怎么命名好,虽然内容很少,但是 ...

  10. Kubernetes学习之路(十四)之服务发现Service

    一.Service的概念 运行在Pod中的应用是向客户端提供服务的守护进程,比如,nginx.tomcat.etcd等等,它们都是受控于控制器的资源对象,存在生命周期,我们知道Pod资源对象在自愿或非 ...