Cocoapods 指向错误的版本

Cocoapods points to wrong version

我在项目的一个版本中遇到了一些问题。我发现这个 有人建议采取步骤从机器上删除所有与 cocoapods 相关的东西并重新安装它。我确实按照以下步骤操作:

$ 'pod --version'
0.36.1

$ gem list --local | grep cocoapods
cocoapods (0.39.0.rc.1, 0.38.2, 0.38.1, 0.37.2)
cocoapods-core (0.39.0.rc.1, 0.38.2, 0.38.1, 0.37.2)
cocoapods-downloader (0.9.3, 0.9.1)
cocoapods-plugins (0.4.2)
cocoapods-search (0.1.0)
cocoapods-stats (0.6.2, 0.5.3)
cocoapods-trunk (0.6.4, 0.6.1)
cocoapods-try (0.5.1, 0.4.5)

$ gem uninstall cocoapods // and all others from the list above

问题是,当我再次 grep 所有 cocoapods 时,列表等于上一个,什么都没有消失。

$ sudo gem uninstall cocoapods
Select gem to uninstall:
 1. cocoapods-0.37.2
 2. cocoapods-0.38.1
 3. cocoapods-0.38.2
 4. cocoapods-0.39.0.rc.1
 5. All versions
> 5

$ pod --version
// here was the error command not found, so everything fine

$ sudo gem install cocoapods
Fetching: cocoapods-0.38.2.gem (100%)
Successfully installed cocoapods-0.38.2
Parsing documentation for cocoapods-0.38.2
Installing ri documentation for cocoapods-0.38.2
Done installing documentation for cocoapods after 2 seconds
1 gem installed

$ pod --version
Could not find proper version of cocoapods (0.36.1) in any of the sources
Run `bundle install` to install missing gems.

但是为什么要我安装0.36.1?无论如何,正如它所要求的那样,我做到了:

$bundle install
Installing cocoapods-core 0.36.1
Installing cocoapods-downloader 0.8.1
Installing cocoapods-plugins 0.4.1
Installing cocoapods-trunk 0.6.0
Installing cocoapods-try 0.4.3
Installing cocoapods 0.36.1
// Many "using" dependencies

所以现在当我 运行:

$ pod --version
0.36.1

我卡住了 :) 为什么我不能有最新的发行版?也许 pod --version 指向最新版本的 cocoapods-core 而不是 cocoapods,所以一切正常,我的版本正确吗?

我的 ruby 版本似乎出了问题。我仍然不知道是什么以及为什么。我已通过此解决方案设法修复它:。之后一切正常。

  • 检查是否使用了Gemfile,是否指定了版本 椰子类动物。
  • 您可以通过pod *version* action使用特定版本。例如:pod _1.5.0.beta.1_ updatepod _1.5.0.beta.1_ install

对于任何试图更新 cocoapods 的人。完成上述所有操作后,我无法解决此问题。然后我转向已解决的答案并且不愿意删除 RVM,我尝试以另一种方式解决这个问题。

我发现我的问题确实出在我的 Gemfile 中。

首先,运行 gem install cocoapods 以确保您拥有最新版本,或者您要下载的任何指定版本。

其次,确保您的项目 Gemfile 没有指定 cocoapods 版本号,而是简单地将其指定为: gem "cocoapods" 如果你的没有,改变这个和 运行 bundle update 重新生成 Gemfile.lock 文件,你的问题应该得到解决。如果没有,请继续删除 Gemfile.lock 文件,然后删除 运行 bundle update。您可以通过打开 Gemfile.lock 文件并搜索 cocoapods-core <version number here>

轻松查看将加载哪个 gem 版本

此时,您可以进入您的项目并 运行 pod setup 然后检查 cocoapods 版本 pod --version

现在终于可以自由 运行 pod install 替换 Podfile.lock 文件并回到您快乐的开发生活。希望能帮助某人并使他们免于燃烧时间。

迁移到更高 Swift 版本时,您可能会遇到此问题。假设您已经安装了 cocoapods,您可能需要 运行 bundle update 命令(可能需要 sudo)。

更多详情,您可以查看:https://guides.cocoapods.org/using/a-gemfile.html

此外,我建议执行以下操作:

  • 安装最新的 Xcode 版本。
  • 清除项目中的派生数据(不仅仅是清除项目)。
  • 运行 pod update 命令。

我也遇到了同样的问题

在我的项目中,pod --versiongem which cocoapods总是return不同的版本。

我所要做的就是删除我项目中的 Gemfile.lock,然后再次删除 bundle install。它删除了锁定的 cocoapods 版本并安装了一个新版本。

希望对这里的人有所帮助。

我 运行 pod install 我遇到了这个错误:

Could not find proper version of cocoapods (1.11.3) in any of the sources

我运行:

bundle install

之后 pod install 正常工作