J'essaie de cloner mon projet GitHub en utilisant l'URL https, mais il échoue avec une erreur:
$ git clone https://[email protected]/foo/foo-private.git
Cloning into foo-private...
Password:
error: error setting certificate verify locations:
CAfile: /bin/curl-ca-bundle.crt
CApath: none
while accessing https://[email protected]/foo/foo-private.git/info/refs
fatal: HTTP request failed
Qu'est-ce que je fais mal?
J'ai vu cela sur Windows avec msysgit 1.7.2.3. Vous devez fixer le chemin à bin/curl-ca-bundle.crt. Je devais spécifier le chemin absolu, en utilisant des barres obliques inverses:
git config --système http.sslcainfo "C:\Programmes (x86)\git\bin\curl-ca-bundle.crt"
ou - pas vraiment recommandé - vous pouvez choisir de désactiver complètement les contrôles SSL en exécutant:
git config --système http.sslverify false
Dans les deux cas, cela entraînera des modifications dans le fichier [git-install-dir]/etc/gitconfig, qui peut également être modifié directement.
(Solutions originales trouvées sur http://github.com/blog/642-smart-http-support )
J'ai résolu le problème lors de l'installation du Git à partir de: https://git-for-windows.github.io/ Recherchez le chemin du fichier de certificat:
D:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt
Configurez le chemin Git:
git config --système http.sslcainfo "D:\Programme Fichiers\Git\mingw64\ssl\certs\ca-bundle.crt"
Réessayer
Installez simplement les packages de certificat avec les commandes suivantes:
pacman -S mingw-w64-i686-ca-certificates ca-certificates
pacman -S mingw-w64-x86_64-ca-certificates ca-certificates
Si vous utilisiez Cygwin, vous pouvez installer le package ca-certificates avec apt-cyg:
wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg
install apt-cyg /usr/local/bin
apt-cyg install ca-certificates
Comment installer un paquet cygwin à partir de la ligne de commande?
RESOLU: J'ai eu cette erreur lorsque j'ai installé une mise à jour de l'installateur Git Windows. Ce qui s’est passé, c’est que je n’ai pas l’installé avec des droits d’administrateur. Git a donc été installé dans "C:\Utilisateurs\mon_nom\AppData\Local\Programmes" au lieu de "C:\programmes". réinstaller Git en tant qu'administrateur autorisé à le mettre dans C:\Program Files et tout s'est bien passé!
git config --global http.sslverify "false"
Résoudra le problème . Après cela, une fenêtre contextuelle apparaît pour entrer votre nom d'utilisateur et votre mot de passe.
Cela a fonctionné pour moi (j'utilise Manjaro Linux). J'exécute la cmd pour afficher les certificats de certification:
$ curl-config --ca
**/etc/ssl/certs/ca-certificates.crt**
Mais en fait, j'ai trouvé les certificats sur le chemin:
**/etc/ca-certificates/extracted/ca-bundle.trust.crt**
Ajoutez ensuite la configuration dans ~/.gitconfig (si elle n’existe pas, créez-la):
**vim ~/.gitconfig**
[http]
sslVerify = true
sslCAinfo = /etc/ca-certificates/extracted/ca-bundle.trust.crt
[user]
email = <email of github account>
name = <username of github account>
Ça marche!
.rbenv]$ git pull
remote: Counting objects: 70, done.
remote: Compressing objects: 100% (47/47), done.
remote: Total 70 (delta 39), reused 12 (delta 12), pack-reused 6
Unpacking objects: 100% (70/70), done.
From https://github.com/sstephenson/rbenv
c43928a..efb187f master -> Origin/master
+ 37ec781...7e57b52 user-gems -> Origin/user-gems (forced update)
Updating c43928a..efb187f
Fast-forward
libexec/rbenv-init | 4 ++--
libexec/rbenv-version-file | 1 +
test/init.bats | 2 +-
test/test_helper.bash | 25 +++++++++++++++----------
4 files changed, 19 insertions(+), 13 deletions(-)
J'ai fait face à cela tout en tirant. Pour moi, édité le fichier de configuration global git qui a résolu le problème.
Allez dans votre dossier personnel et ouvrez le fichier .gitconfig. Généralement C:\Utilisateurs\.gitconfig
Si le fichier n'est pas là, créez-le
[http]
sslcainfo = E:\systools\git-1.8.5.2\bin\curl-ca-bundle.crt
Là vous devez donner votre propre chemin d’installation de git. J'ai utilisé la version portable de git ici.
Ensuite, git clone/pull ça fonctionnera.
git config --system http.sslcainfo /bin/curl-ca-bundle.crt
Cela marche. Vous n'êtes pas obligé de donner le chemin complet.
J'ai vu cela sur mon Github pour Windows.
Je recommande de désinstaller Github pour Windows et de le réinstaller.
Avant cela, j'ai essayé plusieurs méthodes sans succès, mais cette solution a fonctionné pour moi!
Si vous utilisez la commande Git Shell installée avec l'application GitHub for Windows, cela et d'autres problèmes peuvent apparaître après une mise à jour. Il suffit de démarrer l'application Windows Git Hub et de la fermer à nouveau. Le shell fonctionnera à nouveau correctement. Le problème est que la mise à jour ne se termine pas tant que l'application Windows n'est pas exécutée. Le simple fait d’utiliser le shell ne déclenche pas la mise à jour.
J'ai trouvé une bonne solution pour ajouter/mettre à jour les certificats de l'autorité de certification sous RHEL/CentOS 6 , qui est la cause première du problème signalé.
Depuis qu'elles sont devenues des distributions obsolètes, les autorités cacert de ce système n'ont pas été mises à jour avant l'exécution de la commande Sudo yum update
.
N'a pas réalisé le problème jusqu'à ce que le mode GIT_CURL_VERBOSE indique le problème du chemin d'accès cacert.
En passant, ce problème peut survenir sous Windows si l'utilisateur qui tente d'utiliser git est différent de l'utilisateur qui l'a installé. L'erreur peut indiquer que git ne peut pas accéder aux fichiers de certificat. Installer git en tant qu’administrateur et utiliser la réponse de @ rogertoday a résolu mon problème.
Sur Windows utilisant msysgit, j’ai eu cette erreur et la cause en a été l’ajout de nos certificats proxy d’entreprise.
Si vous éditez votre curl-ca-bundle.crt, vous devez vous assurer de vos limites. Dans le cas de curl-ca-bundle, vous devez utiliser des sélections de style Linux.
> git ls-remote --tags --heads https://github.com/oblador/angular-scroll.git
fatal: unable to access 'https://github.com/oblador/angular-scroll.git/': error setting certificate verify locations:
CAfile: C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt
CApath: none
Vous pouvez utiliser notepad ++ pour convertir les fins de ligne en Linux (saut de ligne).
Pour moi, le problème a été résolu lorsque sur ma fenêtre Windows 10, j'ai essayé de désinstaller Git et de le réinstaller, en utilisant Windows Cmd par défaut et non Git Bash.
Ouvrez CMD et exécutez ce qui suit
//Once installed try to resintall the bin folder
git config --system http.sslcainfo \bin/curl-ca-bundle.crt
//disable ssl verification
git config --global http.sslverify "false"
//Then try to clone repo again
git clone [email protected]:account/someproject.git
La solution qui me convient dans windows 64bits est la suivante
git config --système http.sslverify false
Si quelqu'un d'autre est confronté à ce problème dans Git pour Windows et n'a pas curl-ca-bundle.crt
nulle part sur votre système, même après la réinstallation, voici le processus que j'ai suivi:
curl-**.**.*/lib
dans la ligne de commande./mk-ca-bundle.prl
ca-bundle.crt
dans votre chemin git et mettez à jour la configuration comme indiqué dans d'autres réponsesMerci à ce Gist de m'avoir aidé à terminer l’installation.
Sur Linux, j'ai eu cette erreur et je l'ai corrigé en exécutant Sudo update-ca-certificates
.
J'ai résolu ce problème sur Windows Server 2016 en le réinstallant et en choisissant "bibliothèque native Windows Secure Channel" dans l'étape d'installation "Choix du backend de transport HTTPS".