Cocoapods更改安装版本及卸载、ruby版本检测和安装
$ which pod
/Users/galahad/.rvm/gems/ruby-2.2.2/bin/pod
/usr/local/bin/pod
Q: RubyGems是什么?
A: RubyGems(简称 gems)是一个用于对 Ruby组件进行打包的系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。
发现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)
三、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的顺序:
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]
gem install cocoapods --pre (最新版本,如果最新版不稳定的话,建议不要执行,因为得到的也包括测试版)
也可以指定安装版本:
$ sudo gem install cocoapods -v 1.1.1
$ sudo gem install -n /usr/local/bin cocoapods
也可以参考参考:http://www.cnblogs.com/richard-youth/p/4508049.html
Cocoapods更改安装版本及卸载、ruby版本检测和安装的更多相关文章
- pip 查看已安装模块、卸载指定模块、安装指定版本模块
操作背景 最近使用 pandas+numpy+plotly 画heatmap(热力图),来处理股票数据,语法.步骤都没问题,但到画图那一步老是报错,且 plotly 版本为3.1.0: 最后找到原因, ...
- ubuntu 下安装软件,卸载,查看已经安装的软件
参考网址:http://wiki.ubuntu.org.cn/UbuntuSkills 一般的安装程序用三种: .deb 和.rpm 这两种安装文件 .bundle 这是二进制的安装文件 而 tar. ...
- windows安装ruby,DevKit安装rails,svn安装
Ruby on Rails的安装,是从被称为RubyGems的包管理系统开始的.Ruby on Rails是由Ruby处理系统的类库的.被称为“gem”的格式来进行配置的.“gem”形式的类库,通过使 ...
- linux 基础入门(8) 软件安装 rpm、yum与源码安装详解
8.软件 RPM包安装 8.1rpm安装 rpm[选项]软件包名称 主选项 -i 安装 -e卸载 -U升级 -q查找 辅助选项 -ⅴ显示过程 -h --hash 查询 -a-all查询所有安装的包 - ...
- 升级 Cocoapods 到1.2.0指定版本,降低版本及卸载
=====================升级版本=================== CocoaPods 1.1.0+ is required to build SnapKit 3.0.0+. 在 ...
- C#winform程序安装时自动卸载新版本覆盖旧版本
vs2005为winform程序做的安装包.在以有程序旧版本的机子上用新版本的安装包安装软件时提示 “以经安装该产品的另一个版本.无法继续安装此版本........” 在安装部署项目中设“Remov ...
- ClickOnce部署疑难杂症:更新时部署与应用程序标识不一致问题。要安装此应用程序,请修改此文件的清单版本或卸载之前存在的应用程序。
使用ClickOnce部署winform应用程序.无论是安装或者自动更新都极为方便,但有时候一些疑难杂症也令人头疼 1.注意每次部署完成之后 setup.exe无需覆盖,只需要在Application ...
- Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)
Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本) Hive 安装依赖 Hadoop 的集群,它是运行在 Hadoop 的基础上. 所以在安装 Hive 之 ...
- Go的安装和使用/卸载/升级、安装指定版本
mac: 1.brew install go默认安装最新的,更新go也是这条命令,建议这个方法,省事 2.从官网https://golang.org/dl/下载pkg包安装,官方说1.12是最后一个支 ...
随机推荐
- [转]浮动窗体中的OpenGL多视图的实现
由于在工作中需要结合浮动窗体实现OpenGL的多视图,用于得到三维实体的三视图观察效果,通过参考其它资料,设计了一个程序框架,在此基础之上大家可以根据自己的需要进行扩充,实现需要的功能. 程序实现效果 ...
- 插件式程序开发及其应用(C#)
1. 定义 所谓“插件模型”,指应用程序由一些动态的独立模块构成,每个模块均具有一个或多个服务,并满足一定的插件协议,能够借助主程序实现主程序-插件:插件-插件之间的通讯. 应用该模型的系统,具有以 ...
- 关于chrom56版本以后的form标签提交bug
最近遇到一个情况: 低版本的浏览器i运行如下代码: function query_mission(query_tag) { // 创建form表单 var ip_list = getIpList() ...
- oracle 表的创建与管理 约束
在 Oracle 之中数据表就被称为数据库对象,而对象的操作语法一共有三种:· 创建对象:CREATE 对象类型 对象名称 [选项]:· 删除对象:DROP 对象类型 对象名称 [选项]:· 修改对象 ...
- PHP 抓取函数curl 实践
最近在学习curl的抓取实践, 在里面也学到了一些东西. 有一些网站需要cookie才可以抓取成功.这个时候我们就可以通过fiddle4 去抓包实现.然后通过构建头部信息 ,绕过网站端的验证. 以下是 ...
- u-boot-1.1.6实现自定义命令
学习目标: 1.了解u-boot-1.1.6中命令的实现机制 2.掌握如何在u-boot-1.1.6中添加自定义命令 1.命令的实现机制 uboot运行在命令行解析模式时,在串口终端输入uboot命令 ...
- linux 虚拟机 磁盘空间压缩
/usr/bin/vmware-toolbox-cmd disk list /usr/bin/vmware-toolbox-cmd disk shrink / init 0
- linux下使用shell脚本获取终端宽度
获取终端大小时候的学习 学习日期:2018/11/3 问题来源: 在写shell脚本时想输出一行占满整个终端屏幕宽度的 横杠 发现for循环会导致执行缓慢 解决方法: 使用yes 命令 sed '50 ...
- 2017-2018-1 20155306 《信息安全系统设计基础》嵌入式C语言———提取设置时分秒
2017-2018-1 20155306 <信息安全系统设计基础>嵌入式C语言---提取设置时分秒 要求:根据下图,完成对时分秒的设置和提取. 示例及思路分析: 思路分析:以分钟为例,根据 ...
- 24-[jQuery]-案例
1.仿淘宝导航栏案例 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...