赞
踩
在 macOS 环境中,Brew、RVM、Ruby、Gem 和 CocoaPods 之间存在以下关系:
综上所述,Brew 是用于管理 macOS 上的软件包的包管理器,RVM 是用于管理和安装多个 Ruby 版本的工具,Ruby 是编程语言本身,Gem 是 Ruby 的软件包管理系统,而 CocoaPods 是用于管理 iOS 和 macOS 项目中的第三方库依赖项的工具,它使用 Gem 来安装和管理自己的软件包。Brew、RVM、Ruby、Gem 和 CocoaPods 提供了一套工具链,使您能够更方便地安装、管理和使用 Ruby 和相关的软件包和依赖项。
验证 Homebrew 是否安装
$ brew doctor
执行以下指令,下载 Homebrew 的安装脚本并自动执行安装过程。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
tbd@tbddeMacBook-Air ~ % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 10 ms: Couldn't connect to server
出现这个问题按如下排查:
$ sudo nano /etc/hosts
这里使用 nano 作为文本编辑器,你也可以使用其他你熟悉的编辑器,比如 vi 或 vim。
140.82.114.4 github.com
查询域名对应的IP地址网站https://mxtoolbox.com/SuperTool.aspx
Ctrl+O后需要按Enter回车键
),然后按 Control + X 退出编辑器。$ sudo killall -HUP mDNSResponder
现在,当你访问 github.com 时,你的系统将直接使用在 hosts 文件中指定的 IP 地址,而不是通过 DNS 解析域名。请确保你使用的是 GitHub 服务器的正确 IP 地址,你可以通过 ping 命令来找到当前的 IP 地址:
$ ping github.com
warning: /opt/homebrew/bin is not in your PATH. Instructions on how to configure your shell for Homebrew canbe found in the "Next steps " section below.
安装 Homebrew 后出现这个错误是因为 Homebrew 的可执行文件目录 /opt/homebrew/bin 没有添加到您的 PATH 环境变量中。为了使 Homebrew 正常工作,您需要确保该路径包含在您的 PATH 环境变量中。
根据您使用的 shell,这里有几种方法来解决这个问题:
打开您的 ~/.bash_profile 或 ~/.bashrc 文件(通常 ~/.bash_profile 用于登录 shell,而 ~/.bashrc 用于非登录 shell。如果您不确定,可以两个都设置):
$ nano ~/.bash_profile
或者
$ nano ~/.bashrc
然后添加以下行到文件的末尾:
export PATH="/opt/homebrew/bin:$PATH"
保存并关闭文件。在使用 nano 文本编辑器时,保存和退出的步骤通常如下:
之后,您需要加载新的配置。您可以通过关闭并重新打开终端来做到这一点,或者运行以下命令:
$ source ~/.bash_profile
或者
$ source ~/.bashrc
打开您的 ~/.zshrc 文件:
$ nano ~/.zshrc
然后添加以下行到文件的末尾:
export PATH="/opt/homebrew/bin:$PATH"
保存并关闭文件。之后,您需要加载新的配置。您可以通过关闭并重新打开终端来做到这一点,或者运行以下命令:
$ source ~/.zshrc
检查rvm是否安装
$ rvm -v
检查提示rvm: command not found时,就表示rvm需要安装。
先用下面命令安装
$ curl -L https://get.rvm.io | bash -s stable
上一步执行完成后再执行
$ source ~/.rvm/scripts/rvm
再次查询rvm的安装情况
$ rvm -v
有时安装rvm后检查正常。但关掉终端重启后,继续执行命令就会提示-bash: rvm: command not found
每次重启终端都需要重新执行$ source ~/.rvm/scripts/rvm,不然使用rvm命令会报错。
192:~ gamin$ rvm -v
-bash: rvm: command not found
192:~ gamin$ source ~/.rvm/scripts/rvm
192:~ gamin$ rvm -v
rvm 1.29.12 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
这意味着RVM的环境设置没有正确添加到你的shell配置文件中。为了解决这个问题,你需要将RVM的环境初始化命令永久添加到你的shell配置文件中。
根据你使用的终端shell(比如 Bash 或 Zsh),你可以按照以下步骤操作:
1).打开你的 .bash_profile
或者 .bashrc
文件。你可以使用文本编辑器或者在终端中使用如下命令:
$ open -a TextEdit ~/.bash_profile
或者
$ open -a TextEdit ~/.bashrc
2).在文件的末尾添加以下内容:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
3).保存并关闭文件。
4).为了使更改生效,你可以重新加载配置文件,通过运行以下指令:
$ source ~/.bash_profile
1).打开你的 .zshrc
文件:
$ open -a TextEdit ~/.zshrc
2).同样在文件的末尾添加:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
3).保存并关闭文件。
4).重新加载配置文件:
$ source ~/.zshrc
完成这些步骤后,每次你打开一个新的终端会话时,RVM都会自动初始化,这样你就不需要每次都手动运行 source ~/.rvm/scripts/rvm
了。
先检查ruby的信息,安装cocaPods,ruby环境不得低于2.2.2,否则会报错。
$ ruby -v
最好更新到新版本,可以去官网查询ruby最新版本下载 Ruby
安装最新稳定版本Ruby
$ rvm install 3.2.2
然后输入指令查看是否安装成功
$ rvm list
$ rvm use ruby-3.2.2
$ rvm uninstall ruby-2.6.6
如果遇到权限问题或其他错误,确保你有足够的权限来执行这些操作,或者尝试使用sudo(在知道自己在做什么的情况下)。
$ sudo rvm remove ruby-2.6.6
检查gem ruby版本,需要输入一次密码。
$ sudo gem -v
更新gem ruby
最新版本,可以去网站查询一下https://rubygems.org/pages/download
$ gem update --system
检查ruby源
$ gem sources -l
如果展示https://rubygems.org/ 则移除此ruby源。
$ gem sources --remove https://rubygems.org/
然后添加https://gems.ruby-china.com/这个ruby源。
$ gem sources --add https://gems.ruby-china.com/
注意:先不急着切换,看能否进行下一步的安装。https://rubygems.org/和https://gems.ruby-china.com/这两个源都是能正常使用的,某个源下载安装不了就换一个。
cocoapods官网地址:https://cocoapods.org/
安装cocoapods指令,sudo表示管理员指令,需要输入密码。
$ sudo gem install -n /usr/local/bin cocoapods
或者
$ sudo gem install -n /usr/local/bin cocoapods --pre
安装后,检查安装情况。
$ pod --version
先创建一个iOS测试工程GaminTestDemo
Podfile 是一个用于定义你的项目中需要使用哪些第三方依赖的文件。要在你的项目中创建一个 Podfile,你首先需要在终端中定位到你的项目目录,然后执行pod init.
然后打开终端,cd到项目。
$ cd /Users/gamin/Desktop/GaminTestDemo
然后再初始化pod,执行成功后,目录中会多出一个Podfile文件。
$ pod init
打开Podfile文件,比如想在项目中使用 Alamofire 网络库。
- # 这是一个用于存储 CocoaPods 库的公共资源,并且是官方推荐的替代源,用来代替传统的 GitHub 基于的 Specs 仓库。
- source 'https://cdn.cocoapods.org/'
- #source 'https://github.com/CocoaPods/Specs.git'
-
- # 私有 Specs 仓库
- source 'https://github.com/yourusername/PrivatePodSpecs.git'
-
- platform :ios, '9.0'
-
- target 'GaminTestDemo' do
- use_frameworks!
-
- # Pods for YourProjectName
- pod 'Alamofire', '~> 5.2'
-
- pod 'YourLibrary', '~> 0.0.1'
- pod 'MyComponent', '0.0.1', :source => 'https://github.com/other/PrivatePodSpecs.git'
- end

use_frameworks!
指示 CocoaPods 使用动态框架而非静态库。
pod 'Alamofire', '~> 5.2'
表示你想要安装 Alamofire,版本约束为大于等于 5.2 但小于 6.0。
一旦你编辑完 Podfile,可以通过以下命令来安装这些依赖:
$ pod install
这个命令会根据 Podfile 的定义来安装所需的库,并创建一个 .xcworkspace
文件。你应当使用这个 workspace 文件来打开你的项目,而不是原来的 .xcodeproj
文件。
为了管理版本控制,CocoaPods 提供了锁定已安装依赖版本的机制。当你运行 pod install
时,CocoaPods 会创建一个名为 Podfile.lock
的文件,它记录了实际安装的库的确切版本。这确保了项目的所有协作者都会使用完全相同的依赖版本,从而避免了因版本不一致导致的构建或运行时问题。
当你想要更新某个库到最新版本时,可以运行:
$ pod update <PodName>
这将更新指定的 pod 以及 Podfile.lock
文件。如果你只运行 pod update
,它会尝试更新所有依赖到符合你在 Podfile 中定义的版本约束的最新版本。
CocoaPods 支持多种方式来指定依赖库的版本,这里是一些最常用的操作符:
~>
:被称为“乐观锁定”操作符,它是最常用的。例如,~> 5.2
表示大于等于 5.2 但小于 6.0 的任何版本。>=
:表示版本号大于或等于指定的版本。<=
:表示版本号小于或等于指定的版本。>
:表示严格大于指定的版本。<
:表示严格小于指定的版本。=
:表示精确到一个特定版本。若要指定安装 Alamofire 的版本大于等于 5.2 并且允许超过 6.0,你可以使用如下的语法:
pod 'Alamofire', '>= 5.2'
如果你想要同时包含多个条件,可以列出多个版本要求,例如:
pod 'Alamofire', '>= 5.2', '< 8.0'
选择正确的版本指定方式对于管理项目的稳定性和获取最新的功能和修复都非常重要。在实际应用中,通常推荐使用 ~>
操作符来避免意外的主版本更新带来的潜在问题,除非你确信新的主版本更新不会破坏现有的项目功能。
在项目目录中初始化 CocoaPods,这将创建一个 Podfile
,你可以在这里声明项目的依赖。
$ pod init
$ pod install
要更新一个或多个库,你可以使用:
$ pod update YourPodName
如果只更新特定库:
$ pod update [PODNAME]
列出项目中已安装的 Pod 以及它们的版本
$ pod list
要从项目中删除一个库,你需要从 Podfile
中移除相应的库声明,然后运行:
$ pod install
$ pod search [QUERY]
如果你使用私有仓库,你可能需要用到以下命令:
添加私有仓库:
$ pod repo add [REPO_NAME] [URL]
更新私有仓库:
$ pod repo update [REPO_NAME]
$ pod cache clean 'YourPodName' --all
$ pod cache clean --all
- $ rm -rf Pods/
- $ rm Podfile.lock
- $ pod install
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。