programing

코코파드:GitHub에 연결하여 코코아 포드/사양 보고서를 업데이트하지 못했습니다.

projobs 2023. 5. 14. 23:21
반응형

코코파드:GitHub에 연결하여 코코아 포드/사양 보고서를 업데이트하지 못했습니다.

을 할 때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


.

마스터 사양은 사후에 제한됩니다.


호출에 --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>'


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

주요 문제 중 하나는 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

마침내 삭제하여 해결했습니다../cocoapods/repos/master 중인 닝러pod install.

보다 공식적인 솔루션은 다음과 같습니다.

pod repo remove master
pod setup
pod install

한다면pod install단계를 한 후 에 의 " " " " 를 해야 할 수 . 삭제해야 할 수도 있습니다.Podfile.lock.

왜 처음에 Github에 연결하지 못했는지 이해할 수 없습니다.

사용해 볼 수 있습니다.

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

하지만 제 경우에는 다음과 같이 해야 했습니다.

  • Podfile.lock을 삭제한 다음

  • $pod install

이 스레드에서 Max Adem과 유사한 다른 솔루션은 코코아 포드 문제에서 찾을 수 있습니다.

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과 함께 사전 설치되어 제공됩니다.이 버전은 "TLS 1.2만 지원하는 서버에서 실패할 것"인 OpenSSL 0.9.8을 사용합니다.

최신 Ruby(2.5)와 최신 CocoaPods(1.4)로 업데이트하면 openssl(Ruby updates openssl)로 작업할 필요 없이 이 문제를 해결할 수 있습니다.아직 High Sierra로 업데이트하지 않으려는 경우 이 방법이 좋습니다.

저도 같은 문제에 직면했습니다.제 장면에서는 github에 있는 cocoapods 사양의 미러 레포(다른 곳에서 호스팅됨)를 사용했습니다.스펙 레포를 업데이트했더니 효과가 있었습니다!

cd ~/.cocoapods/repos/master
git pull

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

$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

rbenv를 사용하지 않는 Adem의 조금 더 간단한 솔루션:

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

마지막으로, 당신의 것이 없는지 확인하세요.PATH가 가변 집합수를 /usr/local/bin $PATH.당신의.PATH출수로 ~/.bash_profile이와 유사해야 합니다.

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

이것은 저에게 효과가 있었습니다.

  1. 제다한을 합니다.Podfile.lock
  2. 달려.pod install

코코팟만 업데이트하면 됩니다.sudo gem install cocoapods

Circle CI에서 누군가 이러한 문제를 가지고 있다면 저는 거의 하루 동안 이것과 씨름하고 있었습니다.

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

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

이 링크에서 cocoapods의 핵심 기여자 중 한 명이 괜찮다고 말하는 것을 알 수 있습니다.코코아 포드 레포 캐시는 대략 30분마다 업데이트되며, 이는 보통 스펙 레포에 대한 마지막 6번의 푸시만 놓칠 정도로 자주 업데이트됩니다.

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

터미널에서 다음 작업을 수행했습니다.

  1. brew 설치 openssl

    홈브루가 없는 경우:

    /usr/bin/sshd -e "$(sshd -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install) "

    그리고 1페이지를 반복합니다.

  2. PATH="/usr/local/opt/openssl/bin:$PATH" 내보내기

  3. openssl 버전

    출력:OpenSSL 1.0.2n 2017년 12월 7일

  4. 포드 업데이트

저 또한 같은 문제에 직면하고 있었습니다.나는 터미널에서 두 개의 명령어에 접속하는 것만으로 해결했습니다.

sudogem 제거 nanaimo

그리고 나서.

sudogem 설치 nanaimo

도움이 되길 바랍니다.

  1. 모든 cocoapods 패키지를 제거합니다.See here for information on how to do this.

  2. 그런 다음 코코팟을 다시 설치합니다. $ sudo gem install cocoapods

저는 아래 명령으로 문제를 해결했습니다.

Mac에서 코코팟 제거

 sudo gem uninstall cocoapods

Mac에 코코팟 설치

sudo gem install cocoapods

원격 전화가 너무 일찍 끊기는 유사한 문제에 직면한 사용자는ssh대신 레포를 복제할 수 있습니다.

git clone git@github.com :코코아 포드/Specs.git 마스터.

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

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

  • 루비와 코코팟을 업데이트합니다.
  • 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

언급URL : https://stackoverflow.com/questions/38993527/cocoapods-failed-to-connect-to-github-to-update-the-cocoapods-specs-specs-repo

반응형