web-dev-qa-db-fra.com

Cocoapods: impossible de se connecter à GitHub pour mettre à jour le référentiel de spécifications CocoaPods/Specs

Lors de l'exécution de pod repo update, l'erreur suivante est générée:

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


Utilisation de cocoapods 1.0.1

Je suis également conscient de ceci: Taux limite post-mortem .


L'ajout de l'indicateur --verbose à l'appel affiche la pile d'appels 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>'


Impossible de trouver un moyen de contourner ce problème et impossible d'exécuter le projet.

132
Ivan M.

L'un des problèmes majeurs est "la suppression des normes cryptographiques faibles" après 2018 février.

Voici une note: https://github.com/blog/2507-weak-cryptographic-standards-removed

Pour résoudre ce problème, vous devez d’abord mettre à jour openssl, puis Ruby, puis 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

maintenant tu peux faire

$ pod update

lien source: https://qiita.com/satoshi-iwaki/items/ed2c267127dcc80baa21

409
Adem

Enfin réussi à le résoudre en supprimant ./cocoapods/repos/master et en exécutant pod install.

La solution plus formelle irait probablement comme ceci:

pod repo remove master
pod setup
pod install

Si pod install échoue après les deux premières étapes, vous devrez peut-être supprimer votre Podfile.lock.

Pourquoi il n'a pas réussi à se connecter à Github au début, ça me dépasse. 

130
Ivan M.

Vous pouvez essayer ceci:

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

mais dans mon cas je devais:

  • effacez le fichier Podfile.lock puis 

  • $pod install

50
Mars

Une autre solution similaire à Max's et Adem dans ce fil se trouve dans un numéro de CocoaPods :

brew install Ruby
Sudo gem install cocoapods

Vérifiez que vous utilisez le dernier et correct Ruby avec:

Ruby --version
which Ruby

Devrait utiliser /usr/local/bin/Ruby 

Reason: Il s'avère que Github a été mis à jour pour prendre en charge uniquement TLS 1.2 le 22 février. Les anciennes versions de MacOS antérieures à High Sierra sont préinstallées avec Ruby 2.0. Cette version utilise OpenSSL 0.9.8 qui "échouera avec les serveurs ne prenant en charge que TLS 1.2."

La mise à jour vers les dernières versions de Ruby (2.5) et CocoaPods (1.4) a corrigé ce problème pour moi sans que je n'ai rien à faire avec openssl (Ruby updates openssl). C'est une bonne solution si vous ne souhaitez pas mettre à jour High Sierra pour l'instant.

42
Mykaelos

J'ai aussi rencontré le même problème. Dans ma scène, j'ai utilisé un repo miroir (hébergé ailleurs) des spécifications de cocoapods sur github. Quand j'ai mis à jour le dépôt de spécifications, cela a fonctionné!

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

Cela a fonctionné comme par magie 

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

Autrement 

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

Il suffit de mettre à jour les cocotiers: Sudo gem install cocoapods 

7
Grifas

Une solution un peu plus simple d'Adem qui n'utilise pas rbenv:

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

Enfin, assurez-vous que votre variable PATH n'est pas définie sur /usr/local/bin after $PATH. Votre exportation PATH dans ~/.bash_profile devrait ressembler à ceci:

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

Cela a fonctionné pour moi:

  1. Supprimer Podfile.lock
  2. Exécuter pod install
5
Hamed Akhlaghi

Si quelqu'un a ces problèmes sur Circle CI, je me débattais presque pendant une journée.

En fin de compte, je pense que le meilleur moyen consiste à utiliser la solution fournie pour télécharger à partir de leurs serveurs.

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

À partir de ce lien, vous pouvez constater que l’un des contributeurs principaux des cocoapodes dit que c’est bien: Le cache de dépôt CocoaPods est mis à jour toutes les 30 minutes environ, ce qui est généralement assez fréquent pour ne rater que les six derniers apports au dépôt.

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

2
Kristaps Grinbergs

J'ai fait ensuite dans Terminal: 

  1. brasser installer openssl 

    si vous n'avez pas de bière maison:

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

    et répétez p.1

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

  3. version openssl

    Sortie: OpenSSL 1.0.2n 7 décembre 2017

  4. pod update

0
Nosov Pavel
  1. Supprimez tous les paquets de cocoapodes. Voir ici pour des informations sur la procédure à suivre.

  2. Puis réinstallez les cocoapodes. $ Sudo gem install cocoapods

0
said altintop

Je faisais également face au même problème ... Je ne l'ai résolu qu'en accédant à deux commandes depuis le terminal.

Sudo gem désinstaller nanaimo

et alors

Sudo gem installer nanaimo

J'espère que ça va aider.

0
Raj Joshi

Pour moi, les commandes ci-dessous ont résolu le problème.

Supprimer les cocoapodes de mac

 Sudo gem uninstall cocoapods

Installation de cocoapodes sur mac  

Sudo gem install cocoapods
0
Durai Amuthan.H

Toute personne confrontée à un problème similaire dans lequel la télécommande se bloque prématurément, utilise plutôt ssh pour cloner le référentiel.

git clone [email protected]: maître CocoaPods/Specs.git.

Pour utiliser SSH pour cloner un dépôt GitHub, vous devez disposer d'un compte GitHub et associer vos clés SSH. 

Suivez leur documentation ici .

0
Anietie James