Cocoapods: CocoaPods / Specs spesifikasyon deposunu güncellemek için GitHub'a bağlanılamadı


136

Çalıştırırken pod repo updateaşağıdaki hata üretilir:

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


Kokoodları kullanma 1.0.1

Ayrıca bunun da farkındayım: Ölüm sonrası master-repo oranı sınırlama .


Aramaya --verbose bayrağı eklenmesi, yakut çağrı yığınını gösterir:

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


Bu sorunu çözmek için herhangi bir yol bulunamıyor ve proje çalıştırılamıyor.


1
Bakınız github.com/CocoaPods/CocoaPods/issues/… , eski Ruby sürümü ile ilgilidir
— vikramvi

Yanıtlar:


415

En önemli sorunlardan biri 2018 Şubat ayından sonra "zayıf kriptografik standartlar kaldırıldı".

İşte bir not: https://github.com/blog/2507-weak-cryptographic-standards-removed

Bunu çözmek için önce openssl'yi, sonra ruby'i, ardından cocoapod'u güncellemeniz gerekir.

$ 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

şimdi yapabilirsin

$ pod update

Kaynak bağlantı: https://qiita.com/satoshi-iwaki/items/ed2c267127dcc80baa21


2
olmalı export PATH="$HOME/.rbenv/shims:$PATH"ve olmamalıexport PATH="$HOME/.rbenv/bin:$PATH"
— kambala

2
Ruby'nin 2.1.0 sürümünü kurmanızın bir nedeni var mı? Neden en son değil?
— derickito

1
Bu konuyu, bu iş parçacığında önerilen tüm diğer cevaplarla birlikte, tuş vuruşuna kadar takip ettim ... boşuna. Cocoapods deposunu pek çok kez uçurdum. Dışarıda uzun çekimler veya çılgın fikirler var mı?
— Nick Schneble

3
Bunun için daha yeni bir Ruby sürümü kullanmalısınız: "UYARI: ruby-2.1.0 kullanım ömrünü tamamladı ve artık desteklenmiyor. Artık hata düzeltmeleri veya kritik güvenlik güncelleştirmeleri almıyor."
— jomafer

5
Ayrıca pod repo güncellemesini çalıştırmadan önce rm -rf ~ / .cocoapods / yapmak zorundaydı
— rustycode

136

Sonunda silerek ./cocoapods/repos/masterve çalıştırarak çözmeyi başardılar pod install.

Daha resmi çözüm muhtemelen şöyle olur:

pod repo remove master
pod setup
pod install

Eğer pod installilk iki adımı gerçekleştirdikten sonra başarısız istemiyorsun, mutfakta annene silmeniz gerekebilir Podfile.lock.

Başlangıçta Github'a bağlanamam neden beni aşıyor.


5
Ssh tuşlarını değiştirdikten sonra bana oldu. Olası nedenlerden biri olarak.
— Squatch

1
3 adımı da tamamladım ama yine de gösteriyor [!] CocoaPods / Specs spesifikasyon deposunu güncellemek için GitHub'a bağlanılamadı - Lütfen çevrimdışı olup olmadığınızı veya GitHub'ın kapalı olup olmadığını kontrol edin
— Ankit Kumar Gupta

"Podfile.lock" dosyasını silmek ve sonra "pod install" komutunu çalıştırmak benim için çalıştı! Teşekkürler
— programcı

51

Bunu deneyebilirsiniz:

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

ama benim durumumda:

  • Podfile.lock dosyasını silin ve ardından

  • $pod install


43

Max ve Adem'e benzer bir başka çözüm de bu konudaki CocoaPods sayısında bulunuyor :

brew install ruby
sudo gem install cocoapods

En son ve doğru Ruby'yi aşağıdakilerle kullandığınızdan emin olun:

ruby --version
which ruby

Kullanıyor olmalı /usr/local/bin/ruby

Sebep: Github'un 22 Şubat'ta sadece TLS 1.2'yi destekleyecek şekilde güncellendiği ortaya çıktı . High Sierra'dan önceki MacOS'un eski sürümleri Ruby 2.0 ile önceden yüklenmiş olarak gelir. Bu sürüm, "yalnızca TLS 1.2'yi destekleyen sunucularda başarısız olacak" OpenSSL 0.9.8 kullanır .

En son Ruby (2.5) ve en son CocoaPods'a (1.4) güncelleme, openssl ile herhangi bir şey yapmadan bunu benim için düzeltti (Ruby güncellemeleri openssl). Henüz High Sierra'ya güncellemek istemiyorsanız iyi bir çözümdür.


2
Diğer çözümlerin hiçbiri işe yaramadı, bu işe yaramadı. En son Ruby ve en son CocoaPod'lara güncelleme. Teşekkür ederim.
— Sam Bing

1
Bu benim için düzeltmedi, ama arka plan açıklaması için oy verdim.
— xdeleon

Podspec'i iterken bu sorunla karşılaştım. Bu gerçekten yardımcı oluyor!
— R0CKSTAR

Önemli ayrıntı: Demleme yoluyla CocoaPods taktım. Bu durumda Ruby ve openssl'i yükseltmek yeterli değildi. CocoaPod'ları kaldırmak ve daha sonra gembu cevapta gösterildiği gibi yeniden yüklemek zorunda kaldı .
— Erik Doernenburg

22

Aynı sorunla da karşılaştım. Benim sahnemde, github üzerinde cocoapods özellikleri bir ayna repo (başka bir yerde barındırılan) kullanılır. Ne zaman özellikleri repo güncelledi, çalıştı!

cd ~/.cocoapods/repos/master
git pull

2
Ben de çevrimdışı / github aşağı hata şey alıyordu ve bu ne çalıştı. Bölmeleri kaldırmak için biraz tereddüt ettim.
— Ethan Parker

Bu cevap aslında benim için çalıştı. 2 saatten fazla harcadım. Çok teşekkürler.
— Hiren Patel

Bu cevap aslında bir git klonunu zorlayan klasörü silerek neden bir hacky yerine bir çözümle giderir.
— NoodleOfDeath

14

Bu sihir gibi çalıştı

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

Aksi takdirde

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

8

Bu benim için çalıştı:

  1. Kaldırmak Podfile.lock
  2. Çalıştırmak pod install

7

Sadece cocoapod'ları güncelleyin: sudo gem install cocoapods


7

Adem'den rbenv kullanmayan biraz daha basit bir çözüm:

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

Son olarak, PATHdeğişkeninizin /usr/local/bin sonradan ayarlanmış olmadığından emin olun $PATH. Sizin PATHihracat içinde ~/.bash_profilebuna benzer görünmelidir:

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

1
Bu benim için de yeterliydi. gem install cocoapodsHer yakut kendi mücevher konumuna sahip olduğu için hala cocoapod'ları yeniden çalıştırmanız gerektiğini unutmayın . BTW, brew install opensslyine de yakut bağımlılığı olduğu için adımı çalıştırmaya gerek yok .
— Sagi Iltus

Bana gerçekten yardımcı oldu, teşekkürler! Gerçi ~ / .bash_profile dosyasını değiştirdikten sonra Terminal'i yeniden başlatmam gerekiyordu.
— joliejuly

2

Birisi Circle CI'da bu sorunları yaşıyorsa, neredeyse bir gün boyunca bununla mücadele ediyordum.

Sonunda en iyi yol sunucularından indirmek için sağlanan çözümü kullanmak olduğunu düşünüyorum.

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

Bu bağlantıdan, cocoapods çekirdeği katkıda bulunanlardan birinin iyi olduğunu söyledi: CocoaPods repo önbelleği kabaca her 30 dakikada bir güncellenir, bu genellikle Specs repo'suna sadece son 6 itmeyi kaçırmak için yeterince sıktır.

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



0

Ben de aynı sorunla karşı karşıyaydım. Bunu sadece terminalden iki komuta erişerek çözdüm.

sudo gem kaldırma nanaimo

ve sonra

sudo gem nanaimo yükleyin

Umarım yardımcı olur.



0

Benim için aşağıdaki komutlar sorunu çözdü

Mac'ten cocoapod'ları kaldırma

 sudo gem uninstall cocoapods

Mac'te cocoapod'ları yükleme

sudo gem install cocoapods

0

Uzaktan kumandanın erken kapatıldığı benzer bir sorunla karşılaşan herkes, sshbunun yerine repoyu klonlamak için kullanın.

git clone git@github.com: CocoaPods / Specs.git yöneticisi.

Bir GitHub deposunu kopyalamak için SSH'yi kullanabilmek için bir GitHub hesabınızın olması ve SSH anahtarlarınızla ilişkilendirilmiş olması gerekir.

Belgelerini burada takip edin .


0
  • ruby ve cocoapod'ları güncelleyin.
  • cocoapods env yakut sürümünü kontrol edin.

kullanım

pod env

resim açıklamasını buraya girin

rbenv global x.x.x
ruby -v

yakut sürümünü değiştirin. Çalışmıyorsa , bu rbenv'in yakut sürümünü değiştirmediğini izleyin

cocoapods env yakut sürümünü kontrol edin. Değiştirilmezse,

which pod

bölme yolunuzun doğru /usr/local/bin/podolmadığından emin olun

export PATH=/usr/local/bin:$PATH
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.