Cocoapodsコマンドは、「そのようなファイルまたはディレクトリはありません@ dir_initialize-/Users/<username>/.cocoapods/repos(Errno :: ENOENT)」が原因で失敗します


208

以下のスタックトレースのエラーを解決するのを手伝ってくれる人はいますか?これは、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の提案で修正されました。


8
で削除~/.cocoapodsrm -rf ~/.cocoapodspod setupもう一度実行してみてください。
キーススマイリー

1
@KeithSmiley私はそれを試しましたがpod、を含むコマンドを実行すると、上から同じスタックトレースが得られpod setupます。
デビッド

4
実行pod setupする代わりに、仕様リポジトリをに手動で複製できます~/.cocoapods/repos/master。その後、この手順をスキップできるはずです。
キーススマイリー

私は「git rm -rf Pods」を使用していましたが、gitは実際にはディレクトリを削除しません。これで行き詰まっている人のために、「rm -rf Pods」を実行し、次に「pod install」を実行します。
Borzh

440以上の投票で回答を選択してみませんか?
ダーティヘンリー

回答:


472

libが不足しているというメッセージが表示された場合:

私は同じ問題を持って、それが実行した後に固定し、pod setupその後、およびpod install

欠落しているディレクトリがrubyディレクトリである場合、次のことができます。

最近osxまたはruby gemを更新した可能性があり、そのPATHはまだ古いrubyバージョンにリンクしています。修正:

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

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

@rendelによると


136
なぜこれがCocoaPodsのスタートガイドに記載されていないのか疑問に思います
Kevin Reilly

2
それは私の夜になりました!ありがとうございました!
2014

4
+
入門

その修正済みのバグです。次のバージョンが出るのを待っています
orta

48

Cocoapodには、 githubリポジトリが破損するという問題があり、これによりユーザーはローカルリポジトリを手動でクリーンアップする必要があります。

エラーを詳しく説明するCocoapodsブログ投稿からの引用:

残念ながら、libgit2でバグが発生したため、Specsリポジトリに強制的にプッシュする必要があります。(「マスター」スペックリポジトリとも呼ばれます。)

これはあなたにとって何を意味しますか?まあ、基本的にはCocoaPodsの設定が壊れるでしょう。Specsリポジトリのローカルコピーを手動で削除し、Specsリポジトリの新しいバージョンのクローンを再作成する必要があります。これは、次のコマンドで実行できます。

ソリューション:

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

上記のコマンドを実行するだけで、破損したリポジトリが削除され、クリーンなリポジトリを使用して再初期化されます。詳細については、上記のブログ投稿を参照しください。

お役に立てれば!


1
@ user3783005、そのエラーが発生する場合は、cocoapodsがインストールされていないか、実行可能な 'pods'がPATH変数のどこにも見つからないことを意味します。echo $PATHトラブルシューティングプロセスを開始するための完全なパスを印刷するために使用します。
ラジオビジュアル2015年

22

私にとっては何もうまくいきませんsudo gem install cocoapodsでした。


移行アシスタントを介して移行を完了した後、これを行わなければなりませんでした。
Jojo Narte

21

同様の問題がありました。Podsフォルダを削除して、もう一度pod installを実行しました。問題が解決しました。


これをありがとう!あなたは私にいくつかの貴重な時間を保存しました:)
Cyber​​Dandy

8

たくさんのものを試してみて、私にとっての唯一の修正は言っていました

brew install cocoapods

その後

brew link --overwrite cocoapods

現在は正常に動作しているようです。


1
どういうわけか私のインストールを台無しにした後、これは私のために働いた。ありがとう!
Aleks Beer

7

PodfileまたはPodspecで間違ったアポストロフィ文字を使用すると、時々発生します

ここに画像の説明を入力してください

OS Xで標準のTextEditアプリを使用する場合、これらのアポストロフィはデフォルトです。このようなエラーを回避するには、Sublime Textを使用することをお勧めします


1
「プライベートスペック」テクニックを使用する場合、cocoapodはローカルのプライベートポッドスペックを「./Your_Private_Subspec_Name/Pods/Local Podspecs」というディレクトリにコピーする場合があることに注意してください。したがって、元のpodspecを修正した後、cocoapodsがコピーを正しく更新しない可能性があるため、これらの「ローカルPodspecs」ディレクトリを削除することをお勧めします
Tim

3

迅速なソリューション

良い方法この問題を解決するには、(時にはそれがあるが、珍しい形式で)が欠落しているファイルを指定したフォルダとチェックに行くとされ、削除ファイルを。Podfile.lockファイルも削除

次に、実行するpod installと、すべてが問題ないはずです:) Cocoapodsがダウンロードしたすべてのリポジトリを削除する必要はありません。

できた!


1
この。これは修正です。cocoapodsを再インストールし、リンクし、あらゆる種類のものを動かし、Finderに入って狂ったポッド内のファイルを削除するまで何も機能しませんでした。2018 Ooからの私自身の回答でさえ
Ethan Parker


1

同様のエラーが発生しました。そして「ポッドセットアップ」を試してみましたが、機能していません。次に、見当たらないと言われた偽のファイルを作成し、「ポッドの更新」が機能します。


1

プロジェクトディレクトリに移動し、コマンドexport PATH = $ PATH:$ HOME / Software / ruby​​ / binを入力します


0

同じ問題が発生しましたが、続行するにはプロジェクトの./Pods/ディレクトリ全体を削除する必要がありました(ディレクトリには、ブランチスイッチで削除されなかった他のブランチからのファイルへのシンボリックリンクが含まれていました)


0

私はこれが古い投稿であることを知っていますが、ローカルポッドで.hファイルを移動または削除するときにこの問題に遭遇しました。これはv0.38の問題であり、解決策はアップデートでした。

Githubの問題に関する議論については、こちらをご覧ください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.