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 ~/.cocoapods실행 pod setup다시.
Keith Smiley

1
@KeithSmiley 나는 그것을 시도했지만를 pod포함하여 어떤 명령을 실행할 때 위에서도 동일한 스택 추적을 얻습니다 pod setup.
David

4
실행하는 대신 스펙 저장소pod setup수동으로 복제 할 수 있습니다 . 그런 다음이 단계를 건너 뛸 수 있습니다. ~/.cocoapods/repos/master
Keith Smiley

'git rm -rf Pods'를 사용했지만 git은 실제로 디렉토리를 제거하지 않습니다. 이 문제가 발생하면 'rm -rf Pods'와 'pod install'을 수행하십시오.
Borzh

440 개 이상의 투표로 답변을 선택하지 않으시겠습니까?
Dirty Henry

답변:


472

메시지에 lib가 없다는 메시지가 표시되는 경우 :

나는 같은 문제가 있었고 달리고 pod setup나서 고쳤다.pod install

누락 된 디렉토리가 루비 디렉토리 인 경우 다음을 수행 할 수 있습니다.

최근에 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
내 저녁이야! 감사합니다!
전나무

4
시작 안내서에 언급 된 것에 대해 + 1
csotiriou

수정 된 버그입니다. 다음 버전이 나오기를 기다리고 있습니다
orta

48

Cocoapods는 github 저장소가 손상되어 사용자가 로컬 저장소를 수동으로 정리하도록 하는 문제 가있었습니다.

오류를 자세히 설명하는 Cocoapods 블로그 게시물 의 인용문 :

불행히도 우리는 libgit2에서 버그가 발생하여 Specs 저장소로 강제 푸시해야 할 것입니다. ( '마스터'사양 저장소라고도 함)

이것이 당신에게 무엇을 의미합니까? 기본적으로 CocoaPods 설정이 중단됩니다. 스펙 저장소의 로컬 사본을 수동으로 삭제하고 새 버전의 스펙 저장소를 다시 복제해야합니다. 다음 명령을 사용하여이를 수행 할 수 있습니다.

해결책:

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

위의 명령을 실행하면 손상된 저장소를 제거하고 깨끗한 저장소를 사용하여 다시 초기화 할 수 있습니다. 자세한 내용 은 위에서 언급 한 블로그 게시물 을 참조하십시오.

도움이 되었기를 바랍니다!


1
@ user3783005, 오류가 발생하면 cocoapods가 설치되지 않았거나 PATH변수의 어느 위치에서나 실행 가능한 'pods'를 찾을 수 없음을 의미 합니다. 사용 echo $PATH문제 해결 과정을 시작합니다 전체 경로를 인쇄 할 수 있습니다.
시청각

22

아무것도 나를 위해 일 sudo gem install cocoapods하지 않았다 , 나는 마술을했다.


Migration Assistant를 통해 마이그레이션을 완료 한 후에이 작업을 수행해야했습니다.
Jojo Narte

21

비슷한 문제가있었습니다. 포드 폴더를 삭제하고 포드 설치를 다시 실행했습니다. 문제 해결됨.


이것에 감사드립니다! 당신은 나를 귀중한 시간을 절약했습니다 :)
CyberDandy

8

많은 물건을 시험해 보았고 나에게 유일한 해결책은

brew install cocoapods

그리고

brew link --overwrite cocoapods

이제는 잘 작동하는 것 같습니다.


1
어떻게 든 설치를 망친 후에 이것은 나를 위해 일했습니다. 감사!
Aleks Beer

7

Podfile 또는 Podspec에서 잘못된 아포스트로피 문자를 사용할 때 가끔 발생합니다.

여기에 이미지 설명을 입력하십시오

OS X에서 표준 TextEdit 앱을 사용할 때 이러한 아포스트로피가 기본값입니다. 이러한 오류를 피하기 위해 Sublime Text를 선호합니다.


1
'개인 사양'기술을 사용할 때 cocoapods는 로컬 개인 Podspec을 "./Your_Private_Subspec_Name/Pods/Local Podspecs"디렉토리에 복사 할 수 있습니다. 따라서, 원래 podspec을 수정 한 후에는 "Local Podspecs"디렉토리를 삭제하는 것이 좋습니다. cocoapods가 사본을 올바르게 업데이트하지 못할 수 있기 때문입니다.
Tim

3

빠른 솔루션

이 문제를 해결 하는 좋은 방법 은 지정된 폴더로 이동하여 누락 된 파일 (때로는 있지만 드문 형식)을 확인하고 파일을 삭제 하는 것입니다. Podfile.lock파일 도 제거

그런 다음 실행 pod install하고 모든 것이 잘되어야합니다 :) Cocoapods가 다운로드 한 모든 저장소를 제거 할 필요는 없습니다.

끝난!


1
이. 이것은 수정입니다. 코코아 포드를 다시 연결하고, 연결된 모든 종류의 것들과 내가 Finder에 들어가서 미친 포드 안에있는 파일을 삭제하기 전까지는 아무것도 작동하지 않았습니다. 2018 년 Oo
Ethan Parker의


1

비슷한 오류가 발생했습니다. 그리고 나는 작동하지 않는 "포드 설정"을 시도했습니다. 그런 다음 누락 된 것으로 알려진 가짜 파일을 만든 다음 "포드 업데이트"가 작동합니다.


1

프로젝트 디렉토리로 이동하여 command export PATH = $ PATH : $ HOME / Software / ruby ​​/ bin을 입력하십시오.


0

같은 문제가 발생했지만 프로젝트에서 전체 ./Pods/ 디렉토리를 삭제하여 계속할 수있었습니다 (디렉토리에는 분기 스위치에서 삭제되지 않은 다른 분기의 파일에 대한 심볼릭 링크가 포함되어 있음)


0

나는 이것이 오래된 게시물이라는 것을 알고 있지만 로컬 포드에서 .h 파일을 이동하거나 삭제할 때이 문제가 발생했습니다. 이 문제는 v0.38의 문제였으며 솔루션이 업데이트되었습니다.

여기 에서 Github 이슈 토론을 보십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.