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.
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
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.
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
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.
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
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
Aktualisieren Sie einfach Cocoapods: Sudo gem install cocoapods
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
Das hat für mich funktioniert:
Podfile.lock
entfernenpod install
ausführenWenn 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
Ich habe als nächstes in Terminal gemacht:
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
export PATH = "/ usr/local/opt/openssl/bin: $ PATH"
openSL-Version
Ausgabe: OpenSSL 1.0.2n 7. Dezember 2017
pod-Update
Entfernen Sie das gesamte Cocoapod-Paket. Siehe hier für Informationen, wie das geht.
Installieren Sie dann die Kokosapoden neu. $ Sudo gem install cocoapods
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.
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
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.