【问题标题】:Cocoa Pods need to completely re-installCocoa Pods 需要完全重新安装
【发布时间】:2014-07-29 13:21:45
【问题描述】:

背景

我对来自 .NET 环境的 Unix 有点陌生,但我现在知道的足够多,这让我遇到了麻烦。

我正在使用一个使用 Cocoapods 的现有代码,因此我尝试安装 Cocoapods。

最初当我安装它时,它没有说它需要更新版本的 Ruby。 为了安装 Ruby,我使用了一个名为 rvm 的安装程序。经过一番努力,我安装了 RVM 并获得了 Ruby 版本 2.1.0。

当我转到应用程序所在的目录并输入pod install 时,它会以pod: command not found 响应。假设是可可豆荚的安装一定有问题。如果我尝试任何命令来安装或卸载 Cocoapods

gem install cocoapods    or gem uninstall cocoa pods

它返回相同的响应:

/Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:59:in `gem': uninitialized constant Gem::LOADED_SPECS_MUTEX (NameError)
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:46:in `require'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems.rb:601:in `load_yaml'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/config_file.rb:328:in `load_file'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/config_file.rb:197:in `initialize'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/gem_runner.rb:74:in `new'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/gem_runner.rb:74:in `do_configuration'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/gem_runner.rb:39:in `run'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/bin/gem:21:in `<main>'

我在想,也许安装可可豆荚的失败尝试可能损坏了某些东西,或者将某些东西放在了错误的位置。我想完全卸载 cocoapods 并重新安装它,但安装和卸载没有任何作用。

更新: 使用gem list --local | grep cocoa pods 只是为了查看我安装的 CocoaPods 的版本给了我相同的确切输出。

问题:

有谁知道解决此问题或完全破解并重建 CocoaPods 的方法吗?

【问题讨论】:

    标签: ios cocoapods


    【解决方案1】:

    @Pedros 的帮助(当前接受的答案)为我提供了出色的帮助,但由于来回有太多 cmets,我决定清理对我有用的答案。我会保留他作为公认的答案,因为他真的在这个问题上给了我很大的帮助。如果这对您有帮助并且您选择投票,也请投票接受的答案,因为这几乎完全来自他的回答。

    这是我发现的: 在我的情况下,RVM 没有正确安装,所以 RubyGems 没有正确安装。这反过来又导致 CocoaPods 无法正确安装。

    要完全卸载和删除 RVM: 试试 sudo rvm implode 或者你可以这样做 sudo rm -rf ~/.rvm

    我做了一些检查,看看我是否有正确的版本。我会立即发布它们应该是什么,但随着版本不断更新,这可能会有所不同。

    ruby --version 应该是 2.1.2

    which ruby 应该是 RVM 红宝石。 (看看有没有和OSX的ruby冲突)

    gem --version 应该是 2.2.2

    重新安装 RVM: \curl -sSL https://get.rvm.io | bash -s stable --ruby

    像这样重新安装 CocoaPods: gem install cocoapods

    我希望这可以节省一些开发时间和脱发 :)

    【讨论】:

    • 当我们刚刚卸载 RVM 时,为什么 which ruby 应该指向 RVM ruby​​..?我想您粘贴的这些输出在重新安装 RVM 后应该是有效的,不是吗?
    • 我认为好的(这可能是错误的,因为我在这个话题上很弱):ruby --version 应该指向你的系统版本的 ruby​​。你不应该弄乱它 - 无论它是什么版本,都可以。 which ruby 安装前应指向系统,安装后指向 RVM。 gem --version 应该是最新的,如果是 2015 年 6 月 10 日,它是 2.4.6。
    • 重新安装 rvm 然后 cocoapods 为我工作,但我不认为我最初的问题是 rvm 安装错误。在我从主分支中提取一些更改并将它们合并之前和之后它工作正常,它突然坏了。
    • 它有帮助 - implode->重启->安装 ruby​​->安装 cocoapods
    • 谢谢,看来 RVM 也是我的问题。 (M1 处理器 Mac 对 CocoaPods 有很多问题,希望在新版本中得到整理。)
    【解决方案2】:

    gem env 会告诉你 gem 的安装路径。

    第一次安装 gem 时出现的错误可能是 PATH 错误。也许你的 gems 文件夹没有在 PATH 中正确设置,并且 shell 没有找到 Cocoapods。

    尝试使用 echo $PATH 打印您的 PATH 并查看 - EXECUTABLE DIRECTORY: from gem env 是否存在。

    也可以试试gem pristine --all

    如果这不起作用,请尝试更改为 ruby​​ 2.1.2 并重新安装 cocoapods。

    【讨论】:

    • 所有命令都返回相同的错误。我试图像这样sudo gem update --system 2.4.1 更改ruby 版本,甚至gem env 返回上面相同的错误。
    • OK 我的路径显示如下:/Users/aliabidhusain/.rvm/gems/ruby-2.1.2/bin:/Users/aliabidhusain/.rvm/gems/ruby-2.1.2@global/bin:/Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/aliabidhusain/.rvm/bin
    • 问题一定出在你的红宝石上。试试rvm rubygems latest --force。这应该重新安装 Rubygems
    • 只是为了确保,告诉我以下命令的输出:ruby --versionwhich rubygem --version
    • 进展……所以事实证明,运行该命令确实会尝试重新安装 Rubygems,但出现错误:Permission denied @ rb_sysopen - /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/available_set.rb
    【解决方案3】:

    先尝试bundle install,然后再运行pod install

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-14
      • 2014-09-10
      • 1970-01-01
      • 1970-01-01
      • 2018-03-05
      • 2023-03-22
      • 2012-01-02
      • 1970-01-01
      相关资源
      最近更新 更多