• Cocoapods更改安装版本及卸载、ruby版本检测和安装


    修改于: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中本地程序包
    移除程序包
    $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

  • 相关阅读:
    android 推断应用程序是系统程序还是用户程序
    zoj-3792-Romantic Value-最小割+数值转化
    python中and和or的使用方法
    WP8加入自己定义铃声
    OpenCV-Python教程(4、形态学处理)
    [置顶] Bug 11775332
    Pyhon安装media模块
    hadoop集群环境搭建
    ubuntu12 环境下编译freerdp
    二分查找(非递归JAVA)
  • 原文地址:https://www.cnblogs.com/richard-youth/p/4676526.html
Copyright © 2020-2023  润新知