Podczas uruchamiania pod repo update
generowany jest następujący błąd:
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
Korzystanie z cocoapods 1.0.1
Jestem również tego świadomy: ograniczenie szybkości pośmiertnych master spec-repo .
Dodanie flagi --verbose do wywołania pokazuje stos wywołań ruby:
.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>'
Nie mogę znaleźć sposobu na obejście tego problemu i nie można uruchomić projektu.
ios
xcode
cocoapods
cocoapods-1.0.1
Ivan M.
źródło
źródło
Odpowiedzi:
Jednym z głównych problemów jest „usunięcie słabych standardów kryptograficznych” po lutym 2018 roku.
Tutaj uwaga: https://github.com/blog/2507-weak-cryptographic-standards-removed
Aby rozwiązać ten problem, musisz najpierw zaktualizować openssl, potem ruby, a potem cocoapod.
teraz możesz to zrobić
link do źródła: https://qiita.com/satoshi-iwaki/items/ed2c267127dcc80baa21
źródło
export PATH="$HOME/.rbenv/shims:$PATH"
a nieexport PATH="$HOME/.rbenv/bin:$PATH"
Wreszcie udało się go rozwiązać, usuwając
./cocoapods/repos/master
i uruchamiającpod install
.Bardziej formalne rozwiązanie prawdopodobnie wyglądałoby tak:
Jeśli
pod install
nie powiedzie się po wykonaniu dwóch pierwszych kroków, może być konieczne usunięcie plikuPodfile.lock
.Dlaczego początkowo nie udało się połączyć z Githubem, jest poza mną.
źródło
Możesz spróbować tego:
ale w moim przypadku musiałem:
usuń plik Podfile.lock, a następnie
$pod install
źródło
Inne rozwiązanie podobne do Maxa i Adema w tym wątku znajduje się w numerze CocoaPods :
Sprawdź, czy używasz najnowszego i poprawnego Rubiego z:
Powinien używać
/usr/local/bin/ruby
Powód: Okazuje się, że Github został zaktualizowany do obsługi TLS 1.2 22 lutego. Starsze wersje MacOS przed High Sierra są dostarczane z preinstalowanym Ruby 2.0. Ta wersja korzysta z OpenSSL 0.9.8, co „zawiedzie z serwerami obsługującymi tylko TLS 1.2”.
Aktualizacja do najnowszego Rubiego (2.5) i najnowszego CocoaPods (1.4) naprawiła ten problem bez konieczności robienia czegokolwiek z openssl (aktualizacje Ruby openssl). To dobre rozwiązanie, jeśli nie chcesz jeszcze aktualizować do High Sierra.
źródło
gem
jak pokazano w tej odpowiedzi.Napotkałem też ten sam problem. W mojej scenie użyłem repozytorium lustrzanego (hostowanego w innym miejscu) specyfikacji cocoapods na github. Kiedy zaktualizowałem repozytorium specyfikacji, zadziałało!
źródło
To działało jak magia
Inaczej
źródło
To zadziałało dla mnie:
Podfile.lock
pod install
źródło
Po prostu zaktualizuj cocoapods:
sudo gem install cocoapods
źródło
Nieco prostsze rozwiązanie firmy Adem, które nie używa rbenv:
Na koniec upewnij się, że nie masz
PATH
ustawionej zmiennej na/usr/local/bin
after$PATH
. TwójPATH
eksport~/.bash_profile
powinien wyglądać podobnie do tego:źródło
gem install cocoapods
ponieważ każdy rubin ma swoją własną lokalizację klejnotów. Przy okazji, nie ma potrzeby uruchamianiabrew install openssl
kroku, ponieważ i tak jest to zależność od ruby.Jeśli ktoś ma takie problemy na Circle CI, to walczyłem z tym prawie dzień.
Ostatecznie myślę, że najlepszym sposobem jest użycie dostarczonego rozwiązania do pobierania z ich serwerów.
Z tego linku widać, że jeden z głównych współpracowników cocoapods mówi, że wszystko jest w porządku: pamięć podręczna repozytorium CocoaPods jest aktualizowana mniej więcej co 30 minut, co jest zwykle wystarczająco częste, aby przegapić tylko ostatnie 6 wypchnięć do repozytorium Specs.
https://discuss.circleci.com/t/best-practice-for-use-of-cached-cocoapods-specs/18897/2
źródło
Następnie zrobiłem w Terminalu:
brew install openssl
jeśli nie masz domowego naparu:
/ usr / bin / ruby -e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )"
i powtórz p.1
export PATH = "/ usr / local / opt / openssl / bin: $ PATH"
wersja openssl
Wyjście: OpenSSL 1.0.2n 7 grudnia 2017 r
aktualizacja pod
źródło
Miałem też ten sam problem. Rozwiązałem to tylko poprzez dostęp do dwóch poleceń z terminala.
i wtedy
Mam nadzieję, że to pomoże.
źródło
Usuń cały pakiet cocoapods. Zobacz tutaj, aby dowiedzieć się, jak to zrobić.
Następnie zainstaluj ponownie cocoapods.
$ sudo gem install cocoapods
źródło
Dla mnie poniższe polecenia rozwiązały problem
Usuwanie cocoapods z mac
Instalowanie cocoapods na mac
źródło
Każdy, kto boryka się z podobnym problemem, w którym zdalne zawieszanie się przedwcześnie,
ssh
zamiast tego użyj do sklonowania repozytorium.git clone [email protected]: CocoaPods / Specs.git master.
Aby użyć SSH do sklonowania repozytorium GitHub, musisz mieć konto GitHub i skojarzone z nim klucze SSH.
Postępuj zgodnie z ich dokumentacją tutaj .
źródło
posługiwać się
zmień wersję ruby. Jeśli nie działa, zobacz, jak rbenv nie zmienia wersji ruby
sprawdź wersję ruby w cocoapods env. Jeśli nie został zmieniony,
upewnij się, że ścieżka do kapsuły jest
/usr/local/bin/pod
, jeśli nieźródło