有人能帮我解决下面堆栈跟踪中的错误吗?当我运行任何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的建议。


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

我也遇到了同样的问题,在运行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有一个问题,他们的github存储库已经损坏,这迫使用户手动清理他们的本地回购。

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

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

解决方案:

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

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

希望这能有所帮助!


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

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


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

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


我也有类似的问题。我删除了pod文件夹,重新运行pod安装。问题解决了。


我得到了一个类似的错误。我尝试了“吊舱设置”,但没有用。然后我创建了一个假文件,我被告知丢失了,然后“pod更新”,工作。


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


快速解决方案

解决这个问题的一个好方法是进入指定的文件夹,检查丢失的文件(有时它确实存在,但格式很少见),然后删除该文件。也可以删除Podfile。锁文件

然后执行pod install,一切都应该很好:)你不需要删除Cocoapods下载的所有repo。

完成了!


我知道这是一篇较老的文章,但我在移动或删除本地pod中的.h文件时遇到了这个问题。事实证明,这是v0.38的一个问题,解决方案是更新。

请在这里查看Github问题的讨论。


进入项目目录,输入命令export PATH=$PATH:$HOME/Software/ruby/bin


我没有工作,我必须sudo宝石安装cocoapods,这做的魔法。


我试了很多方法,唯一的解决办法就是说

brew install cocoapods

然后

brew link --overwrite cocoapods

现在它似乎工作得很好。