当前位置:   article > 正文

Mac上更新Ruby

mac ruby 版本更新

在项目中要适配iOS10,要使用cocoapods更新第三方库,而目前使用的ruby版本是Mac系统自带的1.8.7

所以需要对ruby进行升级。这里使用rvmruby进行升级,升级过程如下:

1、安装 rvm

rvm:Ruby Version ManagerRuby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)。

  1. curl -L get.rvm.io | bash -s stable  
  2. 复制代码

等待一段时间后就可以成功安装好rvm

  1. source ~/.bashrc  
  2. source ~/.bash_profile  
  3. 复制代码

测试是否安装正常

  1. rvm -v  
  2. 复制代码

2、用rvm升级ruby

查看当前ruby版本

  1. ruby -v  
  2. ruby 2.3 
  3. 复制代码

列出已知的ruby版本

  1. rvm list known  
  2. 复制代码

3、安装ruby 2.3

  1. rvm install 2.3
  2. 复制代码

安装完成之后ruby -v查看是否安装成功。

下面总结一下,更新ruby遇到的问题:

问题一:

意思就是你要安装cocoapods,你的ruby 环境版本必须大于等于2.2.2

于是,我输入了gem --version,结果出来的版本号是2.6.0,这明明大于2.2.2,怎么还提示版本太低呢。结果一查才知道rvm是用来管理ruby的,ruby的其中一个“程序”叫rubygems,简称gem,而用来管理项目的gem的,叫bundle。完全是不同的东西,他们相同的只是都可以管理gem,所以说不能用这个。

输入rvm listruby的版本好像是1.9.8,看来是cocoapods没骗我。接下来的工作就是升级cocoapods了。

解决方法:

卸载home-brew

  1. ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
  2. 复制代码

然后,在执行

  1. rvm install 2.3
  2. 复制代码

这样ruby就升级好了。 然后,cocoapods就可以正常安装了。

  1. sudo gem install cocoapods
  2. 复制代码

问题二:

在执行rvm install 2.3的时候,报下面这个错误。

解决问题:

升级安装openssl

首先,来看看我们的openssl的版本和目录

  1. openssl version
  2. OpenSSL 0.9.8zh 14 Jan 2016
  3. which openssl
  4. /usr/local/bin/openssl
  5. 复制代码

通过上面的查看,明显我们的版本号太低了,于是google了下,得到下面的结果。 首先更新homebrew

  1. brew update
  2. Updated Homebrew from e3986e9 to 21ce7a5.
  3. ==> Migrating Homebrew to v0.9.9
  4. ...
  5. 复制代码

看到这个信息,就是成功的在更新了,这个过程可能比较久点。更新完之后,我们开始通过homebrew安装openssl

  1. $ brew install openssl
  2. ==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2h.el_capitan.b
  3. ######################################################################## 100.0%
  4. ...
  5. ==> Summary
  6. ? /usr/local/Cellar/openssl/1.0.2h: 1,691 files, 12M
  7. 复制代码

当最后显示?那个标志,说明我们成功的将openssl安装到/usr/local/Cellar/openssl/1.0.2h。 不过,我们还有最后一步,那就是当我们使用openssl时,使用的是我们用homebrew新下载的openssl。 直接将openssl软链接到/usr/local/bin/openssl

  1. #如果/usr/local/bin/openssl下存在,则先删除 /usr/local/bin/openssl
  2. $ rm /usr/local/bin/openssl
  3. #将以前通过homebrew下载的1.0.2e版本的openssl链接到/usr/local/bin/openssl
  4. $ ln -s /usr/local/Cellar/openssl/1.0.2e/bin/openssl /usr/local/bin/openssl
  5. $ openssl
  6. OpenSSL 1.0.2e 3 Dec 2015
  7. 复制代码

问题三:

打开/Users/zzh/.rvm/log/1470726877_ruby-2.3.0/package_install_automake.log文件,发现是automakeautoconf虽然安装了,但是没有链接上。

解决方法:

于是google了下,得到下面的结果,需要安装rvm额外的文件。

  1. rvm get head
  2. 复制代码

真是一步一个坑啊,需要检测rvm运行的环境。

  1. rvm requirements
  2. 复制代码
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/222119
推荐阅读
相关标签
  

闽ICP备14008679号