900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > rvm Ruby gem CocoaPods 的安装使用与卸载

rvm Ruby gem CocoaPods 的安装使用与卸载

时间:2021-11-06 15:38:27

相关推荐

rvm Ruby gem CocoaPods 的安装使用与卸载

rvm、Ruby、gem、CocoaPods 的安装与卸载

有了 CocoaPods则无需再通过拖 第三方库及第三方库所依赖的 framework静态库到项目中等麻烦的操作,仅仅只需要通过终端(Terminal)输入一些指令即可完成这些操作;而且涉及到第三方库的更新升级也可以通过 CocoaPods进行手动管理更新。

官网链接

Homebrew 官网

Rvm 官网

Rvm 安装指南

Ruby 官网

CocoaPods 官网

Ruby 镜像

Homebrew 介绍

Homebrew是一个软件包管理器,用于在mac上安装一些os x上没有的UNiX工具;类似于360软件管理器。

Rvm 介绍

Rvm全称 Ruby Version Manager,是安装和管理 ruby 的一种工具。

摘录:RVM is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems.

Ruby 介绍

Ruby是一种面向对象的脚本语言,简单易用,功能强大。能跨平台和可移植性好等等。其实就是种脚本语言。

Ruby的软件源使用的是亚马逊的云服务,国内网络环境下载时可能会出现各种不稳定和超时,所以自带的需要FQ,可以将官方 ruby 源 替换成国内 China ruby 源。.06 淘宝源暂停维护了。

CocoaPods 介绍

CocoaPods是 iOS 最常用的第三方类库管理工具,绝大部分有名的开源类库都支持 CocoaPods。

CocoaPods是用 ruby 实现的,要想使用它首先需要有 ruby 的环境。幸运的是OS X系统默认已经可以运行 ruby 了。但是有时候 ruby 版本过低是无法正常支持 CocoaPods 的使用,所以需要先安装更新升级 rvm 和 ruby。

rvm 安装与卸载

查看当前版本

rvm -v

安装

curl -L get.rvm.io | bash -s stable 或者 curl -L https://get.rvm.io | bash -s stable

source ~/.bashrc

source ~/.bash_profile

卸载(执行会彻底删除 .rvm 目录,从而删除 rvm)

rvm implode 或者 rm -rf ~/.rvm

Ruby 安装与卸载

使用 ruby 原因:

虽然 macOS 自带了一个 ruby 环境,但是是系统自己使用的,所以权限很小,只有系统能用;~/Library 目录是 root 管理者权限,所以很多会提示无权限。使用自带 Ruby 更新,管理不方便,一系列无原因的报错,因此推荐另外安装一个 ruby 环境。

删除系统 ruby 方法[删除容易出现问题,不要删除]

系统 Ruby 安装路径

这里只是单纯的介绍下,系统 ruby 的相关内容,在安装 Cocoapods 时,并不需要对系统 ruby 做而外操作,请忽略该内容。

查看系统 Ruby 版本

cd /System/Library/Frameworks/Ruby.framework/Versions

删除系统 Ruby

sudo rm /System/Library/Frameworks/Ruby.framework/Versions/Current

下载并解压所需的 Ruby 版本

sudo ln -s 2.6 /System/Library/Frameworks/Ruby.framework/Versions/Current

Ruby 安装与卸载

在安装 Cocoapods 时,后面的内容才是我们需要注意的地方。

查看 Ruby 版本

ruby -v

查看已安装 Ruby 版本

rvm list

查看可安装 Ruby 版本

rvm list known

安装指定 Ruby 版本

rvm install x.x.x

(安装时,可能会遇到错误,大部分是因为没有安装Homebrew造成,所以要提前安装Homebrew比较好)/usr/bin/ruby -e "$(curl -fsSL /Homebrew/install/master/install)"

设置默认版本(不知道啥子用)

rvm use x.x.x --default(曾经删除了的 ruby,ruby -v竟然还输出默认值,没事别尝试)

查看 Ruby 安装的路径地址

which ruby

卸载 Ruby(或者直接使用删除 rvm 命令)

rvm uninstall x.x.x 或者 rvm remove x.x.x

如果出现类似错误:

Error running '__rvm_rm_rf /Users/xxx/.rvm/rubies/ruby-2.6.9-preview2',please read /Users/xxx/.rvm/log/1538210544_ruby-2.6.0-preview2/remove.rubies.log

可以使用 remove 命令:

sudo rvm remove 2.6.0,完全移除。

或者 sudo rm -rf ”ruby 安装的路径地址“ (暴力删除,直接将 ruby 文件干掉)

gem

查看 gem 版本

gem -v

查看 Ruby 源

gem sources -l

更新 gem 版本

gem update --system

如果出现类似错误:

ERROR: While executing gem ... (Gem::FilePermissionError)You don't have write permissions for the /Library/Ruby/Gems/3.0.1 directory.

可以使用:

sudo gem update --system

CocoaPods 安装与卸载

pods安装的前提是先要安装好上述三种环境。

查看镜像源

gem sources -l

添加镜像源

gem sources --add https://gems.ruby-/

删除镜像源

gem sources --remove https://gems.ruby-/

https://gems.ruby-/该镜像源已被弃用,请使用https://gems.ruby-/

查看 CocoaPods 安装的路径地址

which pod

安装 CocoaPods

sudo gem install cocoapods

如果出现类似错误:

ERROR: While executing gem ... (Gem::FilePermissionError)You don't have write permissions for the /usr/bin directory.

可以使用:

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

卸载 CocoaPods

sudo gem uninstall cocoapods

或者 sudo rm -rf ”cocoapods 安装的路径地址“ (暴力删除,直接将 ruby 文件干掉,别轻易尝试)

CocoaPods 具体使用

安装 Podspec(本地库)

pod setup

为什么要执行pod setup?

所有的项目的 Podspec 文件都托管在/CocoaPods/Specs。第一次执行 pod setup 时,CocoaPods 会将这些 podspec 索引文件更新到本地的~/.cocoapods/目录下,这个索引文件比较大,主要是这网有堵墙在那,咋个也快不起来呀?

pod setup超级慢咋办? 贴一下网上:解决方案

更新 Podspec(本地库)

pod repo update

查看 CocoaPods 版本号

pod --version

项目中初始化 CocoaPods(生成 podfile)

pod init // init 之后,项目中就会存在 cocoapods 的依赖环境

编辑 Podfile

# 指定的 workspace,可选workspace 'MyWorkspace'# 指定的 project,可选project 'Myxcodeproj'# 不指定会默认,可配置镜像源、私有源source '/CocoaPods/Specs.git'# 支持的平台和版本platform :ios, '9.0'# 可忽略引用库的所有警告inhibit_all_warnings!# 抽象的 Target 用于多个 Targetabstract_target 'Shows' do# 尽可能不使用 动态库#use_frameworks!# 添加需要的 Podpod 'testPod'# 添加指定版本的 Pod#'> 0.1'任何高于 0.1 的版本#'>= 0.1'0.1 版及更高版本#'< 0.1'任何低于 0.1 的版本#'<= 0.1'版本 0.1 和任何更低版本pod 'testVersion','1.1.0'# 添加指定 configutartion 的 Pod pod 'testConfigutartion',:configutartions =>['Debug']# 添加从指定Git仓库下载指定 Tag 的Podpod 'testGitSource',:git=>'/test/testGitSource.git',:tag=> '1.0.0'# 添加指定本地路径的 Podpod 'testLocal', :path => '../code/Pods/'# Has its own copy of ShowsKit + ShowWebAuthtarget 'ShowsiOS' dopod 'ShowWebAuth'end# Has its own copy of ShowsKit + ShowTVAuthtarget 'ShowsTV' dopod 'ShowTVAuth'endend

编辑 Podfile 该内容摘自原文

搜索依赖库(第三方库)

pod search AFNetWorking

安装依赖库(第三方库)

pod install

更新依赖库(第三方库)

pod update

查找可更新的库

pod outdated

完全删除项目中的 CocoaPods

当我们在从 github 上,下载一些 Demo 时,运行总会因为 pod 的某些问题,而导致运行失败,或者你觉得 CocoaPods让你的项目出现了问题,非常的搞心态,想将其从项目中彻底移除,可以试试下面的方式:

利用终端删除项目中 CocoaPods 依赖

0、删除之前,应确保已备份项目!

1、sudo gem install cocoapods-deintegrate cocoapods-clean // 同时安装cocoapods-deintegrate 和 cocoapods-clean 插件

2、先 cd 到想要删除的工程目录下,再打开终端输,最后输入一下命令

3、pod deintegrate // 删除项目中 CocoaPods

4、pod clean 或者 pod cache clean --all // 清除项目 CocoaPods 缓存,目的是为了删除 pod 的一些衍生文件/数据。如果清洁完还有 pod 残留,手动删除好了。

5、rm Podfile (可选,可以接着使用,也可以重新pod init一份)

cocoapods-deintegrate 插件

不用上面方式,手动直接删? 没试过,不知道行不行,贴下试过小伙伴的文章:在项目中移除CocoaPods

cocoapods-deintegrate 插件 该内容摘自原文

常用命令汇总

rvm 、 Ruby

$ ruby -v # 查看ruby 版本$ rvm list known # 列出已知的 ruby 版本$ rvm install x.x.x # 选择指定 ruby 版本进行更新$ rvm get stable # 更新 rvm$ rvm use x.x.x # 切换到指定 ruby 版本$ rvm use x.x.x --default # 设置指定 ruby 版本为默认版本$ rvm list # 查询已安装的 ruby 版本$ rvm remove x.x.x # 卸载移除 指定 ruby 版本$ curl -L https://get.rvm.io | bash -s stable # 安装 rvm 环境$ curl -sSL https://get.rvm.io | bash -s stable --ruby # 默认安装 rvm 最新版本$ curl -sSL https://get.rvm.io | bash -s stable --ruby=3.0.0 # 安装 rvm 指定版本$ source ~/.rvm/scripts/rvm # 载入 rvm

gem

$ gem -v # 查看 gem 版本$ gem source # 查看 gem 配置源$ gem source -l # 查看 gem 配置源目录$ gem sources -a url # 添加 gem 配置源(url 需换成网址)$ gem sources --add url # 添加 gem 配置源(url 需换成网址)$ gem sources -r url # 删除 gem 配置源(url 需换成网址)$ gem sources --remove url # 删除 gem 配置源(url 需换成网址)$ gem update # 更新 所有包$ gem update --system # 更新 Ruby Gems 软件$ gem install rake # 安装 rake,从本地或远程服务器$ gem install rake --remote # 安装 rake,从远程服务器$ gem install watir -v 1.6.2 # 安装 指定版本的 watir$ gem install watir --version 1.6.2 # 安装 指定版本的 watir$ gem uninstall rake # 卸载 rake 包$ gem list d # 列出 本地以 d 打头的包$ gem query -n ''[0-9]'' --local # 查找 本地含有数字的包$ gem search log --both # 查找 从本地和远程服务器上查找含有 log 字符串的包$ gem search log --remoter # 查找 只从远程服务器上查找含有 log 字符串的包$ gem search -r log # 查找 只从远程服务器上查找含有log字符串的包$ gem help # 提醒式的帮助$ gem help install # 列出 install 命令 帮助$ gem help examples # 列出 gem 命令使用一些例子$ gem build rake.gemspec # 把 rake.gemspec 编译成 rake.gem$ gem check -v pkg/rake-0.4.0.gem # 检测 rake 是否有效$ gem cleanup # 清除 所有包旧版本,保留最新版本$ gem contents rake # 显示 rake 包中所包含的文件$ gem dependency rails -v 0.10.1 # 列出 与 rails 相互依赖的包$ gem environment # 查看 gem 的环境$ gem list --local | grep cocoapods # 查看本地安装过的cocopods相关东西$ sudo gem -v # 查看 gem 版本(以管理员权限)$ sudo gem install cocoapods # 安装 CocoaPods(以管理员权限)$ sudo gem install cocoapods --pre # 安装 CocoaPods 至预览版(以管理员权限)$ sudo gem update cocoapods # 更新 CocoaPods 至最新版(以管理员权限)$ sudo gem update cocoapods --pre # 更新 CocoaPods 至预览版(以管理员权限)$ sudo gem uninstall cocoapods -v 0.39.0 # 移除 CocoaPods 指定版本(以管理员权限)

pod

$ --verbose # 可以显示详细的检测过程,出错时会显示详细的错误信息$ --repo-update # 不忽略本地库的更新$ --no-repo-update # 忽略本地库的更新,执行效率更快$ 以上三个可以在 pod 的时候组合使用$ pod setup # CocoaPods 将信息下载到~/.cocoapods/repos 目录下。如果安装 CocoaPods 时不执行此命令,在初次执行 pod intall 命令时,系统也会自动执行该指令$ pod --version # 检查 CocoaPods 是否安装成功及其版本号$ pod init # 创建 Podfile 文件$ pod search AFNetworking # 搜索 AFNetworking 第三方库$ pod install # 安装第三方库,默认会更新本地库$ pod update # 更新所有可更新的三方库,默认会更新本地库$ pod update AFNetworking # 只更新AFNetworking,其他第三方库不会更新$ pod deintegrate # 删除项目中的 CocoaPods,$ pod clean # 清理项目中的 CocoaPods 缓存,$ pod install --no-repo-update # 忽略本地库更新,安装第三方库$ pod install --verbose --no-repo-update # 显示详细的检测过程,出错时会显示详细的错误信息;忽略本地库更新,安装第三方库$ pod update --no-repo-update # 忽略本地库更新,更新第三方库 建议 pod update 的时候太慢的时候使用$ pod update --verbose --no-repo-update # 显示详细的检测过程,忽略本地库更新,更新第三方库。$ pod repo update # 更新本地库repo$ pod repo remove master # 移除本地 master$ sudo rm -fr ~/.cocoapods/repos/master # 移除本地 master$ sudo rm -fr ~/Library/Caches/CocoaPods/ # 移除本地缓存$ pod repo remove trunk # 移除trunk$ sudo rm -fr ~/.cocoapods/repos/trunk # 移除本地 trunk$ pod repo list # 确认是否已移除 trunk

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。