Cocoapods : CocoaPods / Specs 사양 저장소를 업데이트하기 위해 GitHub에 연결하지 못했습니다.


136

실행할 pod repo update때 다음 오류가 발생합니다.

Updating spec repo `master`
[!] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down


코코아 포드 1.0.1 사용

나는 또한 이것을 알고 있습니다 : 사후 스펙 마스터 리포지토리 제한 .


호출에 --verbose 플래그를 추가하면 루비 호출 스택이 표시됩니다.

.rvm/gems/ruby-2.3.0/gems/cocoapods-core-1.0.1/lib/cocoapods-core/github.rb:100:in `modified_since_commit'
.rvm/gems/ruby-2.3.0/gems/cocoapods-core-1.0.1/lib/cocoapods-core/master_source.rb:32:in `requires_update?'
.rvm/gems/ruby-2.3.0/gems/cocoapods-core-1.0.1/lib/cocoapods-core/master_source.rb:14:in `update'
.rvm/gems/ruby-2.3.0/gems/cocoapods-1.0.1/lib/cocoapods/sources_manager.rb:88:in `block (2 levels) in update'
.rvm/gems/ruby-2.3.0/gems/cocoapods-1.0.1/lib/cocoapods/user_interface.rb:63:in `section'
.rvm/gems/ruby-2.3.0/gems/cocoapods-1.0.1/lib/cocoapods/sources_manager.rb:87:in `block in update'
.rvm/gems/ruby-2.3.0/gems/cocoapods-1.0.1/lib/cocoapods/sources_manager.rb:86:in `each'
.rvm/gems/ruby-2.3.0/gems/cocoapods-1.0.1/lib/cocoapods/sources_manager.rb:86:in `update'
.rvm/gems/ruby-2.3.0/gems/cocoapods-1.0.1/lib/cocoapods/command/repo/update.rb:23:in `run'
.rvm/gems/ruby-2.3.0/gems/claide-1.0.0/lib/claide/command.rb:334:in `run'
.rvm/gems/ruby-2.3.0/gems/cocoapods-1.0.1/lib/cocoapods/command.rb:50:in `run'
.rvm/gems/ruby-2.3.0/gems/cocoapods-1.0.1/bin/pod:55:in `<top (required)>'
.rvm/gems/ruby-2.3.0/bin/pod:23:in `load'
.rvm/gems/ruby-2.3.0/bin/pod:23:in `<main>'
.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval'
.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>'


이 문제를 해결할 방법을 찾을 수없고 프로젝트를 실행할 수 없습니다.


1
github.com/CocoaPods/CocoaPods/issues/…를 참조하십시오. 이전 Ruby 버전과 관련이 있습니다
vikramvi

답변:


415

주요 문제 중 하나는 2018 년 2 월 이후 "약한 암호화 표준이 제거되었습니다"입니다.

여기에 메모 : https://github.com/blog/2507-weak-cryptographic-standards-removed

이를 해결하려면 먼저 openssl을 업데이트 한 다음 루비를 업데이트 한 다음 cocoapod를 업데이트해야합니다.

$ which openssl
/usr/bin/openssl

$ openssl version
OpenSSL 0.9.8zh 14 Jan 2016

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

$ brew update

$ brew install openssl

$ brew upgrade openssl

`` If you need to have this software first in your PATH run: echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile

$ echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile

$ which openssl
/usr/local/opt/openssl/bin/openssl

$ openssl version
OpenSSL 1.0.2n  7 Dec 2017

$ brew install rbenv ruby-build

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
$ source ~/.bash_profile

$ rbenv install --list

Available versions:
  1.8.5-p52
  1.8.5-p113
  1.8.5-p114
  1.8.5-p115
  1.8.5-p231
  1.8.6
:
  2.5.0-rc1
  2.5.0
  2.5.1
  2.6.0-dev
:

$ rbenv install 2.5.1

$ rbenv versions
* system (set by /Users/username/.rbenv/version)
  2.5.1

$ ruby --version
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]

$ rbenv global 2.5.1

$ rbenv versions
  system
* 2.5.1 (set by /Users/username/.rbenv/version)

$ ruby --version
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin16]

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

$ which pod
/usr/local/bin/pod

$ pod --version
1.5.3

이제 할 수 있습니다

$ pod update

소스 링크 : https://qiita.com/satoshi-iwaki/items/ed2c267127dcc80baa21


2
그것은해야 export PATH="$HOME/.rbenv/shims:$PATH"하지export PATH="$HOME/.rbenv/bin:$PATH"
kambala

2
ruby 2.1.0 버전을 설치 한 이유가 있습니까? 왜 최신이 아닌가?
derickito

1
나는이 스레드의 다른 모든 제안 된 답변과 함께 키 입력 에이 조언을 따랐다. 나는 Cocoapods 저장소를 여러 번 날려 버렸습니다. 긴 샷이나 미친 아이디어가 있습니까?
Nick Schneble

3
"경고 : ruby-2.1.0의 수명이 다하여 현재 지원되지 않습니다. 더 이상 버그 수정 또는 중요 보안 업데이트를받지 않습니다."
jomafer

5
또한 포드 repo 업데이트를 실행하기 전에 rm -rf ~ / .cocoapods /를 수행해야했습니다
rustycode

136

마지막으로 삭제 ./cocoapods/repos/master하고 실행 하여 문제를 해결했습니다 pod install.

보다 공식적인 해결책은 아마도 다음과 같습니다.

pod repo remove master
pod setup
pod install

경우 pod install처음 두 단계를 수행 한 후 실패, 당신은 당신을 삭제해야 할 수 있습니다 Podfile.lock.

처음에 Github에 연결하지 못한 이유는 저쪽에 있습니다.


5
ssh 키를 변경 한 후 나에게 일어났다. 가능한 이유 중 하나로.
Squatch February

1
나는 모두에게 3 단계를했지만 여전히 보여 CocoaPods / 사양 사양의 repo 업데이트 할 GitHub의에 연결하지 못했습니다 - GitHub의가 다운 오프라인 여부를 확인, 또는하십시오 [!]
ANKIT 쿠마 굽타

"Podfile.lock"파일을 삭제하고 "pod install"을 실행하면 나를 위해 일했습니다! 감사합니다
프로그래머

51

당신은 이것을 시도 할 수 있습니다 :

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

하지만 제 경우에는 :

  • Podfile.lock을 삭제 한 다음

  • $pod install


43

이 스레드에서 MaxAdem 과 유사한 다른 솔루션 은 CocoaPods 문제 에서 찾을 수 있습니다 .

brew install ruby
sudo gem install cocoapods

다음과 함께 최신의 올바른 Ruby를 사용하고 있는지 확인하십시오.

ruby --version
which ruby

사용해야합니다 /usr/local/bin/ruby

이유 : Github가 2 월 22 일 TLS 1.2 만 지원하도록 업데이트 한 것으로 나타났습니다 . High Sierra 이전의 이전 버전의 MacOS에는 Ruby 2.0이 사전 설치되어 있습니다. 이 버전은 OpenSSL 0.9.8을 사용하며 "TLS 1.2 만 지원하는 서버에서는 실패합니다."

최신 Ruby (2.5) 및 최신 CocoaPods (1.4)로 업데이트하면 openssl (Ruby 업데이트 openssl)을 사용하지 않아도이 문제가 해결되었습니다. 아직 High Sierra로 업데이트하지 않으려는 경우 좋은 솔루션입니다.


2
다른 솔루션은 효과가 없었습니다. 최신 Ruby 및 최신 CocoaPod로 업데이트 감사합니다.
Sam Bing

1
이 문제는 해결되지 않았지만 배경 설명에 투표했습니다.
xdeleon

포드 스펙을 푸시 할 때이 문제를 만났습니다. 정말 도움이됩니다!
R0CKSTAR

중요한 세부 정보 : 나는 Brew를 통해 CocoaPods를 설치했습니다. 이 경우 Ruby와 openssl을 업그레이드하는 것만으로는 충분하지 않았습니다. CocoaPods를 제거한 다음 gem이 답변에 표시된대로 다시 설치해야했습니다 .
Erik Doernenburg

22

나는 또한 같은 문제에 직면했다. 내 장면에서는 github에서 cocoapods 사양의 미러 저장소 (다른 곳에서 호스팅)를 사용했습니다. 사양 저장소를 업데이트하면 효과가있었습니다!

cd ~/.cocoapods/repos/master
git pull

2
오프라인 / github 다운 오류도 발생했으며 이것이 효과가 있습니다. 포드를 제거하는 것이 조금 주저했습니다.
Ethan Parker

이 답변은 실제로 저에게 효과적이었습니다. 나는 2 시간 이상을 보냈다. 고마워
Hiren Patel

이 답변은 실제로 git clone을 강제하는 폴더를 삭제하여 해키가 아닌 솔루션으로 원인을 해결합니다.
NoodleOfDeath

14

이것은 마술처럼 작동했습니다

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

그렇지 않으면

$pod setup
Ctrl +C
cd ~/.cocoapods/repos 
$git clone --depth 1 https://github.com/CocoaPods/Specs.git master

8

이것은 나를 위해 일했다 :

  1. 없애다 Podfile.lock
  2. 운영 pod install


7

rdem을 사용하지 않는 Adem의 약간 간단한 솔루션 :

brew install openssl
brew upgrade openssl
brew install ruby
brew link --overwrite ruby

마지막으로, PATH변수가 /usr/local/bin after로 설정되어 있지 않은지 확인하십시오 $PATH. 귀하의 PATH수출에서는 ~/.bash_profile다음과 유사합니다 :

export PATH=/usr/local/bin:$PATH

1
이것으로도 충분했습니다. gem install cocoapods루비마다 보석 위치가 다르기 때문에 코코아 포드를 다시 설치해야합니다 . BTW, brew install openssl어쨌든 루비의 의존성이므로 단계 를 실행할 필요가 없습니다 .
Sagi Iltus

정말 도움이되었습니다. 감사합니다! ~ / .bash_profile 파일을 변경 한 후 터미널을 다시 시작해야했지만.
joliejuly

2

누군가 서클 CI에 이러한 문제가 있으면 거의 하루 동안이 문제로 어려움을 겪고있었습니다.

결국 가장 좋은 방법은 제공된 솔루션을 사용하여 서버에서 다운로드하는 것입니다.

curl https://cocoapods-specs.circleci.com/fetch-cocoapods-repo-from-s3.sh | bash -s cf

이 링크에서 cocoapods의 핵심 기고자 중 하나가 괜찮다는 것을 알 수 있습니다. CocoaPods 저장소 캐시는 대략 30 분마다 업데이트되며, 일반적으로 Specs 저장소에 대한 마지막 6 번의 푸시 만 놓치기에 충분합니다.

https://discuss.circleci.com/t/best-practice-for-use-of-cached-cocoapods-specs/18897/2



0

나는 또한 같은 문제에 직면했다. 터미널에서 두 개의 명령에 액세스하여 해결했습니다.

sudo gem 제거 nanaimo

그리고

sudo gem install nanaimo

희망이 도움이 될 것입니다.


0
  1. cocoapods 패키지를 모두 제거하십시오. 이를 수행하는 방법에 대한 정보는 여기참조하십시오 .

  2. 그런 다음 cocoapod를 다시 설치하십시오. $ sudo gem install cocoapods


0

나를 위해 아래 명령으로 문제가 해결되었습니다.

Mac에서 Cocoapod 제거

 sudo gem uninstall cocoapods

Mac에 Cocoapod 설치

sudo gem install cocoapods

0

리모컨이 조기에 끊어지는 유사한 문제에 직면 한 사람은 ssh대신 리포지토리를 복제하는 데 사용하십시오.

git clone git@github.com : CocoaPods / Specs.git 마스터.

SSH를 사용하여 GitHub 저장소를 복제하려면 GitHub 계정이 있고 SSH 키가 연결되어 있어야합니다.

여기에서 설명서를 따르십시오 .


0
  • 루비와 코코아 포드 업데이트.
  • cocoapods env에서 루비 버전을 확인하십시오.

사용하다

pod env

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

rbenv global x.x.x
ruby -v

루비 버전을 변경하십시오. 작동 하지 않으면 루비 버전을 변경하지 않는rbenv를보십시오.

cocoapods env에서 루비 버전을 확인하십시오. 변경하지 않으면

which pod

있는지 확인 포드 경로는 /usr/local/bin/pod, 그렇지 않은 경우

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