Cocoapods命令失败是因为“没有这样的文件或目录@ dir_initialize - /Users/<用户名>/”。cocoapods /回购(Errno: ENOENT)“;

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

55487 次浏览

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

我也遇到了同样的问题,在运行pod setuppod install后得到了修复

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

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

sudo gem install -n /usr/local/bin ruby

sudo gem install -n /usr/local/bin cocoapods

正如@rendel所说的

可可足类动物遇到了一个问题,他们的github存储库已经被损坏,这迫使用户手动清理他们的本地回购。

引用Cocoapods的博客文章详细介绍了这个错误:

不幸的是,我们在libgit2中遇到了一个错误,我们将 必须强制推入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中使用错误的撇号字符时,有时会出现这种情况

enter image description here

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

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

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

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

快速解决方案

解决这个问题的的好方法是去指定的文件夹并检查丢失的文件(有时它确实在那里,但以一种罕见的格式)和删除文件。同时移除Podfile.lock文件

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

完成了!

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

见Github的问题讨论它在这里

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

没有工作对我来说,我必须sudo gem install cocoapods,这是神奇的。

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

brew install cocoapods

然后

brew link --overwrite cocoapods

现在它似乎工作得很好。