有人能帮我解决下面堆栈跟踪中的错误吗?当我运行任何pod命令时,都会发生这种情况。我已经卸载并重新安装了宝石,但运气不好。

00:44:05-David~/dev/farecast-app (master)$ pod setup
Setting up CocoaPods master repo
/usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/pathname.rb:422:in `open': No such file or directory @ dir_initialize - /Users/David/.cocoapods/repos (Errno::ENOENT)
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/pathname.rb:422:in `foreach'
    from /usr/local/rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/pathname.rb:422:in `children'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/cocoapods-0.34.4/lib/cocoapods/sources_manager.rb:63:in `all'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/cocoapods-0.34.4/lib/cocoapods/user_interface/error_report.rb:127:in `repo_information'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/cocoapods-0.34.4/lib/cocoapods/user_interface/error_report.rb:34:in `report'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/cocoapods-0.34.4/lib/cocoapods/command.rb:63:in `report_error'
    from /usr/local/rvm/gems/ruby-2.1.0@global/gems/claide-0.7.0/lib/claide/command.rb:300:in `handle_exception'
    from /usr/local/rvm/gems/ruby-2.1.0@global/gems/claide-0.7.0/lib/claide/command.rb:274:in `rescue in run'
    from /usr/local/rvm/gems/ruby-2.1.0@global/gems/claide-0.7.0/lib/claide/command.rb:264:in `run'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/cocoapods-0.34.4/lib/cocoapods/command.rb:50:in `run'
    from /usr/local/rvm/gems/ruby-2.1.0/gems/cocoapods-0.34.4/bin/pod:33:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-2.1.0/bin/pod:23:in `load'
    from /usr/local/rvm/gems/ruby-2.1.0/bin/pod:23:in `<main>'
    from /usr/local/rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `eval'
    from /usr/local/rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `<main>'

更新:修正了@KeithSmiley的建议。


当前回答

在Podfile或Podspec中使用错误的撇号字符时,有时会出现这种情况

当在OS X上使用标准的TextEdit应用程序时,这些撇号是默认的。 我更喜欢Sublime Text来避免这样的错误

其他回答

在Podfile或Podspec中使用错误的撇号字符时,有时会出现这种情况

当在OS X上使用标准的TextEdit应用程序时,这些撇号是默认的。 我更喜欢Sublime Text来避免这样的错误

如果消息说你缺少一个库:

我也遇到了同样的问题,在运行pod安装后,它被修复了

如果缺少的目录是ruby目录,你可以这样做:

你可能最近更新了osx或ruby gem,它的PATH仍然链接到旧的ruby版本。修复:

Sudo gem install -n /usr/local/bin

Sudo gem install -n /usr/local/bin cocoapods . sh

正如@rendel所说

供您参考-我在新安装cocoapods时遇到了这个问题。听起来像是一个在0.36中被修复的bug

https://github.com/CocoaPods/guides.cocoapods.org/issues/58

Cocoapods有一个问题,他们的github存储库已经损坏,这迫使用户手动清理他们的本地回购。

Cocoapods的博客文章详细描述了这个错误:

不幸的是,我们在libgit2中遇到了一个bug,我们将要解决 必须强制推入Specs存储库。(也称为 ' master '规格回购。) 这对你来说意味着什么?基本上你的CocoaPods设置是 要断了。您将不得不手动删除任何本地 的新版本,并重新克隆 规范库。你可以用下面的命令来完成:

解决方案:

$ sudo rm -fr ~/.cocoapods/repos/master
$ pod setup

简单地运行上面的命令将删除损坏的repo并使用一个干净的repo重新初始化。更多信息请参见上面提到的博客文章。

希望这能有所帮助!

我也遇到了同样的问题,但我必须在我的项目中删除整个。/Pods/目录才能继续(该目录包含指向其他分支未在分支交换机上删除的文件的符号链接)