it-swarm.com.de

Cocoapods: Es konnte keine Verbindung zu GitHub hergestellt werden, um das Repo für CocoaPods/Specs-Spezifikationen zu aktualisieren

Beim Ausführen von pod repo update wird der folgende Fehler generiert:

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


Cocoapods verwenden 1.0.1

Das ist mir auch bekannt: Masterspec-Repo-Rate, die Post-mortem begrenzt .


Das Hinzufügen eines --verbose-Flag zum Anruf zeigt den Ruby-Aufrufstapel:

.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>'


Es gibt keine Möglichkeit, dies zu umgehen und das Projekt kann nicht ausgeführt werden.

132
Ivan M.

Eines der Hauptprobleme ist "schwache kryptographische Standards entfernt" nach dem Februar 2018.

Hier ein Hinweis: https://github.com/blog/2507-weak-cryptographic-standards-removed

Um dieses Problem zu lösen, müssen Sie zunächst openssl aktualisieren, dann Ruby und dann Cocoapod.

$ which openssl
/usr/bin/openssl

$ openssl version
OpenSSL 0.9.8zh 14 Jan 2016

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

$ 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

jetzt können Sie tun

$ pod update

quelllink: https://qiita.com/satoshi-iwaki/items/ed2c267127dcc80baa21

409
Adem

Schließlich konnte das Problem gelöst werden, indem ./cocoapods/repos/master gelöscht und pod install ausgeführt wurde.

Die formalere Lösung würde wahrscheinlich so aussehen:

pod repo remove master
pod setup
pod install

Wenn pod install nach den ersten beiden Schritten fehlschlägt, müssen Sie möglicherweise Ihren Podfile.lock löschen.

Warum es anfangs fehlschlug, sich mit Github zu verbinden, ist mir unklar. 

130
Ivan M.

Sie können dies versuchen:

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

aber in meinem Fall musste ich:

  • löschen Sie das Podfile.lock und dann 

  • $pod install

50
Mars

Eine andere Lösung, die Max's und Adem's in diesem Thread ähnelt, wird in einem CocoaPods-Problem gefunden:

brew install Ruby
Sudo gem install cocoapods

Vergewissern Sie sich, dass Sie den neuesten und korrekten Ruby verwenden, mit:

Ruby --version
which Ruby

Sollte /usr/local/bin/Ruby verwenden 

Reason: Es stellt sich heraus, dass Github am 22. Februar nur TLS 1.2 unterstützt. _ Ältere Versionen von MacOS vor High Sierra sind mit Ruby 2.0 vorinstalliert. Diese Version verwendet OpenSSL 0.9.8, das "schlägt mit Servern fehl, die nur TLS 1.2 unterstützen."

Ein Update auf den neuesten Ruby (2.5) und den neuesten CocoaPods (1.4) hat dieses Problem behoben, ohne dass ich etwas mit openssl zu tun habe (Ruby aktualisiert openssl). Dies ist eine gute Lösung, wenn Sie noch nicht auf High Sierra aktualisieren möchten.

42
Mykaelos

Ich bin auch auf das gleiche Problem gestoßen. In meiner Szene habe ich ein Spiegel-Repo (woanders gehostet) von Kokosapods-Spezifikationen für Github verwendet. Wenn ich das Specs-Repo aktualisiert habe, hat es funktioniert!

cd ~/.cocoapods/repos/master
git pull
21
noveleven

Das hat wie Magie funktioniert 

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

Andernfalls 

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

Aktualisieren Sie einfach Cocoapods: Sudo gem install cocoapods 

7
Grifas

Eine etwas einfachere Lösung von Adem, die rbenv nicht verwendet:

brew install openssl
brew upgrade openssl
brew install Ruby
brew link --overwrite Ruby

Stellen Sie abschließend sicher, dass Ihre Variable PATH nicht auf /usr/local/bin after $PATH eingestellt ist. Ihr PATH-Export in ~/.bash_profile sollte folgendermaßen aussehen:

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

Das hat für mich funktioniert:

  1. Podfile.lock entfernen
  2. pod install ausführen
5
Hamed Akhlaghi

Wenn jemand diese Probleme mit Circle CI hat, hatte ich fast einen Tag lang damit zu kämpfen.

Am Ende denke ich, der beste Weg ist, die von ihnen bereitgestellte Lösung zum Herunterladen von ihren Servern zu verwenden.

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

Über diesen Link können Sie sehen, dass einer der Hauptakteure von cocoapods sagt, dass dies in Ordnung ist: Der CocoaPods-Repo-Cache wird etwa alle 30 Minuten aktualisiert. Dies ist in der Regel häufig genug, um nur die letzten 6 Pushs des Specs-Repos zu verpassen.

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

2

Ich habe als nächstes in Terminal gemacht: 

  1. brew install openssl 

    wenn Sie kein Selbstgebräu haben:

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

    und wiederholen Sie S.1

  2. export PATH = "/ usr/local/opt/openssl/bin: $ PATH"

  3. openSL-Version

    Ausgabe: OpenSSL 1.0.2n 7. Dezember 2017

  4. pod-Update

0
Nosov Pavel
  1. Entfernen Sie das gesamte Cocoapod-Paket. Siehe hier für Informationen, wie das geht.

  2. Installieren Sie dann die Kokosapoden neu. $ Sudo gem install cocoapods

0
said altintop

Ich stand auch vor dem gleichen Problem ... Ich löste es nur durch den Zugriff auf zwei Befehle vom Terminal.

Sudo Edelstein deinstallieren Nanaimo

und dann

Sudo Edelstein installieren Nanaimo

Hoffe, es wird helfen.

0
Raj Joshi

Für mich haben die folgenden Befehle das Problem behoben

Kokosapod von Mac entfernen

 Sudo gem uninstall cocoapods

Cocoapods auf dem Mac installieren  

Sudo gem install cocoapods
0
Durai Amuthan.H

Wenn Sie ein ähnliches Problem haben, bei dem die Fernbedienung vorzeitig auflegt, verwenden Sie stattdessen ssh, um das Repo zu klonen.

git clone [email protected]: CocoaPods/Specs.git-Master.

Um SSH zum Klonen eines GitHub-Repos verwenden zu können, benötigen Sie ein GitHub-Konto und müssen Ihre SSH-Schlüssel damit verknüpfen. 

Folgen Sie der Dokumentation hier .

0
Anietie James