修改于: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

界面调试工具reveal的更多相关文章

  1. iOS界面调试工具 Reveal-备用

    Reveal是一个iOS程序界面调试工具.使用Reveal,我们可以在iOS开发时动态地查看和修改应用程序的界面. 对于动态或复杂的交互界面,手写UI是不可避免的.通过Reveal,我们可以方便地调试 ...

  2. 项目总结(五)--- 界面调试工具Reveal

    在开发中,我们也许会碰到以下需求:对于一些动态复杂的交互界面,手码去制定界面是常有的事情,然而我们在开发中想修改过一些参数后想看下实时效果,只能重新运行项目,进入到对应的页面来进行修改,是不是有点麻烦 ...

  3. 界面调试工具Reveal的使用介绍

    Reveal 注: 此处介绍Reveal,其中大部分内容来自于唐巧的<iOS开发进阶>一书,以此说明. 如何使用Reveal进行模拟器调试,只需进行以下三个步骤即可. 1. 创建.lldb ...

  4. Reveal : Xcode辅助界面调试工具

    Reveal简介: Reveal是一款iOS界面调试工具,辅助Xcode进行界面调试,使用它可以在iOS开发的时候动态的查看和修改应用程序的界面. 软件下载 首先去官网下载Reveal,下载地址:ht ...

  5. Linux下图形界面调试工具kdbg安装及測试

    1.Ubuntu系统下安装 Ubuntu系统安装比較方便,直接apt-get即可 apt-get install kdbg 2.centos 安装 首先,在这个地址下下载rpm包.然后使用rpm命令安 ...

  6. reveal

    链接 界面调试工具Reveal Reveal使用教程 iOS分析UI利器——Reveal及简单破解方法 Reveal使用步骤和 破解Revealapp的试用时间限制 end

  7. iOS开发进阶

    <iOS开发进阶>基本信息作者: 唐巧 出版社:电子工业出版社ISBN:9787121247453上架时间:2014-12-26出版日期:2015 年1月开本:16开页码:268版次:1- ...

  8. ios 利用Reveal来调试界面1 --模拟器(步骤详解)

    Reveal是一个程序界面调试工具,可以调试iOS apps和tvOS apps.使用Reveal,我们可以在开发时动态地查看和修改应用程序的界面.避免每次修改UI的时候都要重新运行程序.接下来按照规 ...

  9. 使用Reveal来查看别人的APP界面+白苹果不刷机解决方式

    Reveal这个强大的界面调试工具.能够实时查看.改动view的属性,大体上实现了iOS程序猿梦寐以求的功能.比方,有时候我们加入了一个view,可是那个view死活不显示出来,这时候祭出Reveal ...

随机推荐

  1. jquery获取多重input的方式

    获取input的checked值是否为true: 第一种: if($("input[name=item][value='val']").attr('checked')==true) ...

  2. 【SPOJ QTREE2】QTREE2 - Query on a tree II(LCA)

    You are given a tree (an undirected acyclic connected graph) with N nodes, and edges numbered 1, 2, ...

  3. 机器学习Python包

    随着机器学习的逐日升温,各种相关开源包也是层出不群,面对如此多种类的工具包,该如何选择,有的甚至还知之甚少或者不知呢,本文简单汇总了一下当下使用比较多的Python版本机器学习工具包,供大家参看,还很 ...

  4. 关于使用 pushViewController: animated: 方法在下一个控制器中拿不到值的解决方法

    如下代码: // 加载一个tabbar控制器 houseMessageTabbarController *houseTabbar = [[houseMessageTabbarController al ...

  5. BP神经网络推导过程详解

    BP算法是一种最有效的多层神经网络学习方法,其主要特点是信号前向传递,而误差后向传播,通过不断调节网络权重值,使得网络的最终输出与期望输出尽可能接近,以达到训练的目的. 一.多层神经网络结构及其描述 ...

  6. 【BZOJ-4213】贪吃蛇 有上下界的费用流

    4213: 贪吃蛇 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 58  Solved: 24[Submit][Status][Discuss] Desc ...

  7. 【poj2417】 Discrete Logging

    http://poj.org/problem?id=2417 (题目链接) 题意 求解$${A^X≡B~(mod~P)}$$ Solution BSGS. 细节 map TLE飞,只好写了hash挂链 ...

  8. 【bzoj2006】 NOI2010—超级钢琴

    http://www.lydsy.com/JudgeOnline/problem.php?id=2006 (题目链接) 题意 给出一个数列,在其中选出K个长度在${[L,R]}$之间的不同的区间,使得 ...

  9. FastCopy包含和排除文件夹处理

    包含和排除文件夹操作: 1.有多个时,用[;]进行分割. 2.可指定文件夹深度,也可以不用指定,直接最终名称. 3.不用指定盘符. 4.名称后面带上反斜杠[\]. 假如有两个文件夹:F:\A,F:\B ...

  10. BZOJ1577 USACO 2009 Feb Gold 1.Fair Shuttle Solution

    权限题,不给传送门啦!在学校OJ上交的.. 有些不开心,又是一道贪心,又是一个高级数据结构的模板,又是看了别人的题解还写崩了QAQ,蒟蒻不需要理由呀. 正经题解: 首先,我们可以由「显然成立法」得出, ...