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.