"No se puede encontrar el ayudante remoto para 'https'" durante git clone

244

No puedo clonar repositorios HTTPS. Puedo clonar repositorios SSH bien, pero no repositorios HTTPS. No puedo probar el protocolo GIT ya que estoy detrás de un firewall corporativo.

Esto es lo que estoy tratando de hacer:

$ git clone https://github.com/nvie/gitflow.git
Cloning into gitflow...
fatal: Unable to find remote helper for 'https'

Hasta ahora he intentado lo siguiente (basado en búsquedas de Google)

  • Purga e instalación de Git a través de apt-get
  • Instalando build-depspara Git a través deapt-get
  • Instalar bibliotecas de desarrollo curl
  • Instalar bibliotecas de expatriados
  • Descargando la fuente de Git y compilando usando:
    • ./configure --prefix=/usr --with-curl --with-expat
    • También intenté apuntar configurar en curl binary ( ./configure --prefix=/usr --with-curl=/usr/bin/curl)

He intentado todo lo que puedo encontrar en Internet sin suerte. ¿Alguien puede ayudarme?

Versión de Git = 1.7.6.4

OS = Ubuntu 11.04

Ben K
fuente
Lamento ser obvio, parece que curl no está instalado. hacer curl --helpy ver si es así.
Mike Jones
Estoy recuperando una lista de opciones de curl cuando ejecuto curl --help.
Ben K
1
Lo sé, como mencioné al principio de mi pregunta, revisé todos los resultados que puedo encontrar en Google. ¡Nada ha funcionado hasta ahora!
Ben K
2
Tengo el mismo problema. Estoy detrás de un firewall corporativo también. Traté de recompilar con todas las opciones que se encuentran en Internet, pero no funcionó en absoluto. Alguna otra idea?
1
Lo curioso es que estoy tratando de clonar el github de curl para poder compilarlo en una caja bloqueada $ & #% ^ * Solaris.
makhdumi

Respuestas:

290

Parece que no tener (lib) curl-devel instalado cuando compila git puede causar esto.

Si instala (lib) curl-devel y luego reconstruye / instala git, esto debería resolver el problema:

$ yum install curl-devel
$ # cd to wherever the source for git is
$ cd /usr/local/src/git-1.7.9  
$ ./configure
$ make
$ make install

Esto funcionó para mí en Centos 6.3.

Si no tiene yum, puede descargar la fuente para curl-devel aquí:


Si estás ejecutando Ubuntu en su lugar:

sudo apt-get install libcurl4-openssl-dev 
TastyCode
fuente
44
Estos pasos me funcionaron. CentOS 5.8 32 bit; git versión 1.8.0
Vikram
1
Me funcionó CentOS 6.4 y git
1.8.2.1
18
En Ubuntu 12.04 LTS, el paquete que necesitaba era:sudo apt-get install libcurl4-openssl-dev
Michael Burr,
2
En Ubuntu 10.04 LTS el paquete que necesitaba era: sudo aptitude install libcurl4-openssl-devapt-get tiene problema de la dependencia y la aptitud parece puede resolverlo
wenchiching
1
Tuve este problema porque estaba trabajando en git en sí mismo y había hecho una "instalación de instalación" en mi directorio ~ / bin. Mi RUTA recogió ~ / bin / git que encontró el error. El uso de / usr / bin / git resolvió el problema.
qneill
71

Si está intentando clonar, entonces podría usar el transporte git

Por ejemplo: git clone git://github.com/fog/fog.git

Vaio ~/Myworks/Hero $ git clone git://github.com/fog/fog.git

Initialized empty Git repository in /home/nthillaiarasu/Myworks/Hero/fog/.git/
remote: Counting objects: 41138, done.
remote: Compressing objects: 100% (13176/13176), done.
remote: Total 41138 (delta 27218), reused 40493 (delta 26708)
Receiving objects: 100% (41138/41138), 5.22 MiB | 58 KiB/s, done.
Resolving deltas: 100% (27218/27218), done
Thillai Narayanan
fuente
3
Gracias por su consejo. Desafortunadamente, trabajo detrás de un firewall corporativo que bloquea el puerto del protocolo git y no me lo abren. He estado descargando tarballs para evitar el problema, ¡pero realmente me gustaría que mi instalación de git funcione correctamente!
Ben K
44
Como otros han mencionado, git: // generalmente no es ideal, pero aparentemente si estás en una situación en la que https: // simplemente no funciona, puedes usar git config --global url."git://".insteadof https://forzar gita usar siempre git: // en lugar de https : //. Esto puede ser útil si está intentando clonar con submódulos (por ejemplo, con --recursive).
fakedad
Perfecto. No pude instalar nada en mi nube QNAP, ¡pero funcionó de maravilla!
Phil Roggenbuck
45

En caso de que alguien encuentre esto en un sistema QNAP o en cualquier otro sistema con OPKG como administrador de paquetes:

Necesita instalar git-http junto con git. Me gusta:

opkg install git-http
CWBudde
fuente
3
¡Salvaste mi día! Este es exactamente mi caso. Estoy usando "entware" en un sistema Xpeonology para obtener más paquetes de software de Linux, y después de "opkg install git", el "git clone https: //" fallará con el error: fatal: no se puede encontrar ayuda remota para 'https '. Gracias por mencionar este paquete "git-http".
zerox
Gracias, entendí el problema, pero no sabía cuál era el paquete que permitiría a git tomar datos http en lugar de datos ssh.
erichlf
43

Usé " git://" en lugar de " https://" y eso resolvió el problema. Mi comando final fue:

git clone --recursive git://github.com/ceph/ceph.git
cecheverria
fuente
16
Esta es una solución, no una solución. Funcionará para repositorios, pero no para lo esencial, y no para el OP debido a su firewall corporativo.
Patrick Fisher
Y también significa que no puedes empujar nada
Phil
@cecheverria: github no acepta push over git.
usuario2284570
2
@PatrickFisher Pero hace el trabajo en entornos en los que no tienen los derechos para instalar las bibliotecas curl-devel y / o al administrador del sistema no se instalará con prontitud.
squipbar
16

En nuestro caso, el problema se solucionó cuando verificamos

git --exec-path

estaba apuntando a un camino que dejó de existir. (Estaba señalando el camino donde hemos compilado git y no donde copiamos después para que cualquiera pueda acceder a él)

Hicimos un:

export GIT_EXEC_PATH=<path_of_/libexec/git-core/>

y resuelto

Pedro Reis
fuente
Gracias. La segunda solución funciona para mí cuando git está instalado en una carpeta separada.
maxwu
15

En CentOS 5.x, la instalación de curl-devel me solucionó el problema.

ron
fuente
8
@ RyanM: Esto funcionó para mí. Yo yum install curl-devely luego yo ./configure, makey make installen mi código git. Entonces https: // funcionó para mí. Esto está en CentOS 5.8
Brett
13

Tuve el mismo problema y simple de resolverlo.

Simplemente desinstale git y vuelva a instalarlo.

#apt-get remove --purge git-svn git-core
#rm /usr/local/bin/git
#apt-get install git-svn git-core

Y todo funciona bien.

Espero que esto ayude.

thehuyvb
fuente
2
Debe hacer apt-get remove --purge git
sanbor
Esto funcionó para mí ... desinstalar git como se indica arriba, luego obtener el git tarball, compilarlo e instalarlo.
bromeando
10

Tuve exactamente el mismo problema y se redujo a una dependencia insatisfecha, sin embargo, probé la solución de la respuesta aceptada y no funcionó.

Lo que finalmente funcionó para mí fue instalar todo lo siguiente (esto es RedHat):

sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

Luego, ejecuté los otros comandos según lo especificado y funcionó:

./configure
make
sudo make prefix=/usr/local install

Saqué la lista de dependencias directamente del sitio web de Git . Aparentemente debería haber comenzado allí: /

Topher Fangio
fuente
5

Esto funcionó para mí en Centos 6.6 para instalar git 2.3.1:

  1. No tenía instalado curl-devel (buscando curl_global_init en -lcurl ... no). La clave era generar el script de configuración

  2. Añadir rpmforge para docboox2x

  3. instalar paquetes

    yum install openssl-devel zlib-devel perl-ExtUtils-MakeMaker svn tcl perl-Locale-Msgfmt gettext asciidoc xmlto docbook2x
    
  4. hacer enlace simbólico

    ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
    
  5. construir git

    # download latest relase from https://github.com/git/git/releases
    curl -O -J -L https://github.com/git/git/archive/v2.13.0.tar.gz
    tar xf git-2.13.0.tar.gz
    cd git-2.13.0
    make configure
    ./configure --prefix=/usr
    make all doc
    make install install-doc install-html
    
rofrol
fuente
Espere un segundo ... el problema es que git clone https: // falla. ¿Cómo lo arreglas clonando la fuente git? Cualquiera que lea esta pregunta no podrá realizar el paso 5.
andrew lorien
1
uso adicional de rizos y alquitrán
rofrol
5

La forma más fácil de solucionar este problema es asegurarse de que git-corese agregue al pathpara su usuario actual

Si agrega lo siguiente a su archivo de perfil bash, ~/.bash_profileesto normalmente debería resolver el problema

PATH=$PATH:/usr/libexec/git-core
Vibración
fuente
la única solución que me funcionó es la tuya. Para otros, también puede solucionarlo usando el comando anterior o el siguiente: en su lugar: / usr / bin / git pull origin master
Ujjawal Khare
Además, asegúrese de que su git-core haya sido construido con git-remote-https incluido.
Ed Randall
2

Estaba teniendo este problema al usar capistrano para implementar una aplicación de rieles. El problema era que mi usuario solo tenía un acceso de shell encarcelado en cpanel. Cambiarlo al acceso de shell normal solucionó mi problema.

Metralha
fuente
¿Cómo se puede solucionar esto mientras se mantiene al usuario encarcelado? ¿Qué se necesita agregar jk_init.inidebajo [git]para arreglar esto?
desapareció el
2

En Mac OS X 10.9 Mavericks, la solución que funcionó es la siguiente

rvm pkg install openssl
CC=/usr/local/bin/gcc-4.2 CPP=/usr/local/bin/cpp-4.2 CXX=/usr/local/bin/g++-4.2  rvm install 1.9.3 --with-openssl-dir=$rvm_path/usr

Esto es para compilar Ruby con el soporte de OpenSSL. A continuación, desinstale todas las versiones anteriores.

brew uninstall openssl
brew uninstall curl
brew uninstall git

A continuación, instale las versiones actualizadas. La instalación de git depende de una versión actualizada de CURL.

brew install openssl
brew install curl
brew install git
Nick Woodhams
fuente
Esto funcionó para mí ... tuvo que quitar CC=/usr/local/bin/gcc-4.2 CPP=/usr/local/bin/cpp-4.2 CXX=/usr/local/bin/g++-4.2 a pesar de utilizar una versión más alta y rubí
Amgad
En macOS 10.14 (Mojave), mi solución simple era usar Anaconda que ya había instalado y escribir conda install gitpara instalar una versión más nueva de git y paquetes de dependencia.
skynaut
1

Tuve muchos problemas con este problema de ayuda remota. Me aseguré de haber instalado todo el expat, curl, etc. pero finalmente lo resolví actualizando gcc después de encontrar que la versión 4.4.4 era duff. Acabo de hacer una actualización yum y recompilado con 4.4.6.

usuario1164594
fuente
1

En centos 7:

$ yum install curl-devel
$ yum reinstall git

Funciona para mi.

Johan Morales
fuente
0

Hoy tengo el mismo problema: git http roto después de años de servicio feliz. Parece causado por algunas actualizaciones de Perl lib. Intenté algunas sugerencias sensatas en la web, ninguna funcionó. Ya tuve suficiente, simplemente eliminé todas las cosas de git, obtuve un nuevo tarball de http://git-scm.com/ , lo compilé e instalé, y todo volvió a la normalidad. Pruébalo, o puedes profundizar en tus registros ...

Wen Bian
fuente
0

Tuve que agregar un par de instalaciones adicionales que ejecutan CentOS versión 5.10 (Final):

yum install openssl097a.x86_64 
yum install openssl-perl.x86_64 

Usando git-1.8.5: ./configure make clean make make install

git clone https://github.com/michaelficarra/CoffeeScriptRedux.git
Cloning into 'CoffeeScriptRedux'...
remote: Reusing existing pack: 4577, done.
remote: Counting objects: 24, done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 4601 (delta 13), reused 11 (delta 1)
Receiving objects: 100% (4601/4601), 2.60 MiB | 126.00 KiB/s, done.
Resolving deltas: 100% (2654/2654), done.
Checking connectivity... done.
Jarle Drivenes
fuente
0

Aterricé aquí una vez porque estaba trabajando con git. Cuando lo construí, el archivo MAKE predeterminado instaló el binario en ~ / bin / git. Como mi RUTA tenía ~ / bin primero cuando ejecuté 'git pull --rebase', usó el que estaba en ~ / bin y, en consecuencia, no pude localizar a los ayudantes.

Resolví el problema ejecutando '/ usr / bin / git ...' con una ruta completa (alternativamente, podría haber ajustado mi RUTA).

qneill
fuente
0

Para aquellos que usan git con Jenkins en un sistema de Windows, deben configurar la ubicación de git.exe en: Administrar Jenkins => Configuración de herramienta global => Git => Ruta al ejecutable de Git y completar la ruta a git.exe , por ejemplo; C: \ Archivos de programa \ Git \ bin \ git.exe

posix99
fuente
0

trabajó

1- Tuve que eliminar git:

sudo apt-get remove git

2- reinstale git con el sufijo -all:

sudo apt-get install git-all

como se enseña aquí: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

3- verifiqué todas las configuraciones (nombre de usuario y correo electrónico) de mi cuenta github

por cierto me equivoqué con el buen correo electrónico que fue la fuente de mis errores;) https://github.com/settings/profile
verifique su nombre de usuario
https://github.com/settings/emails
verifique que su correo electrónico sea el bueno

4- he seguido el tutorial de git aquí

https://help.github.com/articles/connecting-to-github-with-ssh

marcdahan
fuente
0

En mi caso, nada fue exitoso, después de un tiempo mirando lo que sucedía, encontré esto en mi archivo de configuración. No estoy seguro de cómo llegó allí

% cat ~/.gitconfig 
[user]
    email = [email protected]
    name = xxxxxx
[alias]
    g = grep -n -i --heading --break
[url "git+https://github.com/"]
    insteadOf = [email protected]:
[url "git+https://"]
    insteadOf = git://

Después de eliminar las propiedades de URL, todo funcionaba bien nuevamente

Bruno Manzo
fuente
0

CentOS Minimal generalmente instala la versión 1.8 git por yum install git comando.

La mejor manera es construirlo e instalarlo desde el código fuente. La versión actual es 2.18.0.

  1. Descargue el código fuente de https://mirrors.edge.kernel.org/pub/software/scm/git/ ocurl -o git-2.18.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.18.0.tar.gz

  2. Descomprimir por tar -zxf git-2.18.0.tar.gz && cd git-2.18.0

  3. Instale el paquete de dependencia ejecutando yum install autoconf curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel asciidoc xmlto openjade perl* texinfo

  4. Instale docbook2X, no está en el repositorio de rpm. Descargar e instalar por

    $ curl -o docbook2X-0.8.8-17.el7.x86_64.rpm http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/d/docbook2X-0.8.8-17.el7.x86_64 .rpm $ rpm -Uvh docbook2X-0.8.8-17.el7.x86_64.rpm

Y crea un nombre de enlace Unix:

ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
  1. Compile e instale, consulte https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

    $ make configure $ ./configure --prefix = / usr $ make all doc info $ sudo make install install-doc install-html install-info

  2. Reinicie su servidor (si no, puede encontrar Unable to find remote helper for 'https' error)

    $ reiniciar ahora

  3. Prueba:

    $ git clone https://github.com/volnet/v-labs.git $ cd v-labs $ touch test.txt $ git add. $ git commit -m "prueba de instalación de git" $ git push -u

Eric Kung
fuente
0

Recibí este error en Windows mientras usaba TortoiseGit. Reinstalar Git para Windows y decirle a TortoiseGit la ruta de acceso a git.exe volviendo a ejecutar el Asistente de inicio inicial lo arregló.

Mateo
fuente
0

En mi caso git --exec-pathapuntaba a la ruta correcta y git-remote-httpsexistía pero no tenía permiso de ejecución. Entonces chmod +x git-remote-httpsolucionó el problema.

nicolaus Sí
fuente