"Não foi possível encontrar o auxiliar remoto para 'https'" durante o clone do git

244

Não consigo clonar repositórios HTTPS. Posso clonar repositórios SSH bem, mas não HTTPS. Não consigo testar o protocolo GIT, pois estou atrás de um firewall corporativo.

Isto é o que estou tentando fazer:

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

Até agora, tentei o seguinte (com base nas pesquisas do Google)

  • Limpando e instalando o Git através apt-get
  • Instalando build-depspara Git atravésapt-get
  • Instalando bibliotecas dev do curl
  • Instalando bibliotecas expat
  • Fazendo download da fonte e construção do Git usando:
    • ./configure --prefix=/usr --with-curl --with-expat
    • Também tentei apontar configure em curl binary ( ./configure --prefix=/usr --with-curl=/usr/bin/curl)

Eu tentei tudo o que posso encontrar na internet sem sorte. Alguém pode me ajudar?

Versão Git = 1.7.6.4

OS = Ubuntu 11.04

Ben K
fonte
Desculpe por ser óbvio, parece que o curl não está instalado. faça curl --helpe veja se é.
Mike Jones
Estou recebendo de volta uma lista de opções de curl quando executo curl --help.
Ben K
1
Eu sei, como mencionei na parte superior da minha pergunta, eu passei por todos os resultados que posso encontrar no Google. Nada funcionou até agora!
Ben K
2
Eu tenho o mesmo problema. Também estou atrás de um firewall corporativo. Tentei recompilar todas as opções encontradas na Internet, mas não funcionou. Alguma outra ideia?
1
O engraçado é que estou tentando clonar no github do curl para poder compilá-lo em uma caixa Solaris bloqueada $ & #% ^ *.
Makhdumi

Respostas:

290

Parece que não ter (lib) curl-devel instalado quando você compila o git pode causar isso.

Se você instalar (lib) curl-devel e depois reconstruir / instalar o git, isso deve resolver o 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

Isso funcionou para mim no Centos 6.3.

Se você não tem yum, pode fazer o download da fonte para curl-devel aqui:


Se você estiver executando o Ubuntu:

sudo apt-get install libcurl4-openssl-dev 
TastyCode
fonte
4
essas etapas funcionaram para mim. CentOS 5.8 32 bits; git versão 1.8.0
Vikram
1
Trabalhou para mim CentOS 6.4 e git 1.8.2.1
JoxTraex
18
No Ubuntu 12.04 LTS o pacote que eu precisava era:sudo apt-get install libcurl4-openssl-dev
Michael Burr
2
No Ubuntu 10.04 LTS o pacote que eu precisava era: sudo aptitude install libcurl4-openssl-devapt-get tem problema de dependência e aptidão parece pode resolvê-lo
wenchiching
1
Eu tive esse problema porque estava trabalhando no próprio git e fiz um "make install" no meu diretório ~ / bin. Meu PATH pegou ~ / bin / git que encontrou o erro. O uso de / usr / bin / git resolveu o problema.
Qneill 30/04/2015
71

Se você está tentando clonar, pode usar o transporte git

Por exemplo: 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
fonte
3
Obrigada pelo Conselho. Infelizmente, trabalho com um firewall corporativo que bloqueia a porta do protocolo git e eles não a abrem para mim. Estou baixando tarballs para contornar o problema, mas eu realmente gostaria que minha instalação do git funcionasse corretamente!
Ben K
4
Como outros já mencionaram, o git: // geralmente não é o ideal, mas, aparentemente, se você estiver em uma situação em que https: // simplesmente não funcione, use git config --global url."git://".insteadof https://a força gitpara sempre usar o git: // em vez de https : //. Isso pode ser útil se você estiver tentando clonar com submódulos (por exemplo, com --recursive).
Fakedad 4/17
Perfeito. Não consegui instalar nada na minha nuvem QNAP, mas isso funcionou como um encanto!
Phil Roggenbuck
45

Apenas no caso de alguém encontrar isso em um sistema QNAP ou em qualquer outro sistema com o OPKG como gerenciador de pacotes:

Você precisa instalar o git-http junto com o git. Gostar:

opkg install git-http
CWBudde
fonte
3
Você salvou o meu dia! Este é exatamente o meu caso. Estou usando o "entware" em um sistema Xpeonology para obter mais pacotes de software Linux e, após o "opkg install git", o "git clone https: //" falhará com o erro: fatal: Não foi possível encontrar o auxiliar remoto para 'https ' Obrigado por mencionar este pacote "git-http".
zerox
Obrigado, entendi o problema, mas não sabia qual era o pacote que permitiria ao git pegar dados http em vez de dados ssh.
erichlf
43

Eu usei " git://" em vez de " https://" e isso resolveu o problema. Meu comando final foi:

git clone --recursive git://github.com/ceph/ceph.git
cecheverria
fonte
16
Esta é uma solução alternativa, não uma solução. Ele funcionará para repositórios, mas não para Gists, e não para o OP devido ao seu firewall corporativo.
Patrick Fisher
E isso também significa que você não pode empurrar qualquer coisa
Phil
@cecheverria: o github não aceita push over git.
user2284570
2
@PatrickFisher Mas faz o trabalho em ambientes onde você não tem os direitos para instalar as bibliotecas curl-devel e / ou o administrador do sistema não irá instalá-los prontamente.
Squipbar 13/07/2016
16

No nosso caso, o problema foi corrigido quando verificamos

git --exec-path

estava apontando para um caminho que parou de existir. (Estava apontando para o caminho em que compilamos o git e não onde copiamos depois para que alguém pudesse acessá-lo)

Fizemos um:

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

e resolvido.

Pedro Reis
fonte
Obrigado. A segunda solução funciona para mim quando o git é instalado em uma pasta separada.
maxwu
15

No CentOS 5.x, a instalação do curl-devel corrigiu o problema para mim.

Ron
fonte
8
@RyanM: Isso funcionou para mim. I yum install curl-devele, em seguida, I ./configure, makee make installno meu código git. Então https: // funcionou para mim. Isso acontece no CentOS 5.8
Brett
13

Eu tive o mesmo problema e simples de resolvê-lo.

Apenas desinstale o git e reinstale-o.

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

e tudo funciona bem.

Espero que esta ajuda.

thehuyvb
fonte
2
Você deve fazer apt-get remove git --purge
sanbor
Isso funcionou para mim ... desinstalando o git como acima, depois obtendo o tarit do git, construindo e instalando.
joeking
10

Eu tinha exatamente o mesmo problema e ele se resumia a uma dependência não atendida; no entanto, tentei a solução da resposta aceita e não funcionou.

O que finalmente funcionou para mim foi a instalação de todos os itens a seguir (este é o RedHat):

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

Depois, executei os outros comandos conforme especificado e funcionou:

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

Peguei a lista de dependências diretamente do site do Git . Aparentemente eu deveria ter começado por aí: /

Topher Fangio
fonte
5

Isso funcionou para mim no Centos 6.6 para instalar o git 2.3.1:

  1. Eu não tinha o curl-devel instalado (verificando curl_global_init em -lcurl ... não). A chave era gerar o script de configuração

  2. adicione rpmforge para docboox2x

  3. instalar pacotes

    yum install openssl-devel zlib-devel perl-ExtUtils-MakeMaker svn tcl perl-Locale-Msgfmt gettext asciidoc xmlto docbook2x
    
  4. faça o link 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
fonte
Espere um segundo ... o problema é que o git clone https: // falha. Como você está corrigindo isso clonando a fonte git ??? Qualquer pessoa lendo esta questão não vai ser capaz de fazer o passo 5.
andrew lorien
1
onda adicionado e uso tar
rofrol
5

A maneira mais fácil de corrigir esse problema é garantir que o git-corearquivo seja adicionado ao pathusuário atual

Se você adicionar o seguinte ao seu arquivo de perfil bash, ~/.bash_profileisso normalmente deve resolver o problema

PATH=$PATH:/usr/libexec/git-core
Judder
fonte
a única solução que funcionou para mim é a sua. Para outros, você também pode corrigi-lo usando acima ou abaixo uso comando: / usr / bin / git pull origin master
Ujjawal Khare
Além disso, verifique se o seu git-core foi construído com o git-remote-https incluído.
Ed Randall
2

Eu estava tendo esse problema ao usar o capistrano para implantar um aplicativo de trilhos. O problema era que meu usuário só tinha acesso ao shell preso no cpanel. Alterá-lo para acesso normal ao shell corrigiu meu problema.

Metralha
fonte
Como isso pode ser corrigido, mantendo o usuário preso? O que precisa ser adicionado ao jk_init.iniunder [git]para corrigir isso?
foi
2

No Mac OS X 10.9 Mavericks, a solução que funcionou é a seguinte

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

Isso é para compilar o Ruby com suporte ao OpenSSL. Em seguida, desinstale todas as versões antigas.

brew uninstall openssl
brew uninstall curl
brew uninstall git

Em seguida, instale as versões atualizadas. A instalação do git depende de uma versão atualizada do CURL.

brew install openssl
brew install curl
brew install git
Nick Woodhams
fonte
Isso funcionou para mim ... tinha que remover CC=/usr/local/bin/gcc-4.2 CPP=/usr/local/bin/cpp-4.2 CXX=/usr/local/bin/g++-4.2 embora & usado versão superior rubi
Amgad
No macOS 10.14 (Mojave), minha solução simples era usar o Anaconda que eu já havia instalado e digitar conda install gitpara instalar uma versão mais recente do git e pacotes de dependência.
skynaut
1

Tive muitos problemas com esse problema de ajudante remoto. Eu garanti que havia instalado todo o expat, curl etc., mas finalmente resolvi atualizando o gcc depois de descobrir que a versão 4.4.4 era duff. Acabei de fazer uma atualização do yum e recompilar com o 4.4.6.

user1164594
fonte
1

No centos 7:

$ yum install curl-devel
$ yum reinstall git

Esse trabalho é para mim.

Johan Morales
fonte
0

Hoje, tenho o mesmo problema: o git http está quebrado após anos de serviço feliz. Parece causado por algumas atualizações da Perl lib. Tentei algumas sugestões sensatas na web, nenhuma funcionou. Já basta, acabei de remover todas as coisas do git, peguei um novo tarball em http://git-scm.com/ , compilei e instalei, e tudo voltou ao normal. Experimente, ou você pode cavar fundo em seus logs ...

Wen Bian
fonte
0

Eu tive que adicionar algumas instalações extras executando o CentOS versão 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
fonte
0

Cheguei aqui uma vez porque estava trabalhando com o próprio git. Quando eu o construí, o makefile padrão instalou o binário em ~ / bin / git. Como meu PATH tinha ~ / bin primeiro quando executei 'git pull --rebase', ele foi usado em ~ / bin e, consequentemente, não foi possível localizar os auxiliares.

Eu resolvi o problema executando '/ usr / bin / git ...' com um caminho completo (como alternativa, eu poderia ter ajustado meu PATH).

qneill
fonte
0

Para aqueles que usam o git com o Jenkins em um sistema Windows, é necessário configurar o local do git.exe em: Gerenciar Jenkins => Configuração Global da Ferramenta => Git => Caminho do executável do Git e preencha o caminho do git.exe , por exemplo; C: \ Arquivos de programas \ Git \ bin \ git.exe

posix99
fonte
0

trabalhou

1- Eu tive que remover o git:

sudo apt-get remove git

2- reinstale o git com o sufixo -all:

sudo apt-get install git-all

como ensinado aqui: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

3- verifiquei todas as configurações (nome de usuário e email) da minha conta do github

pela maneira como eu me enganei, o bom email, que foi a fonte dos meus erros;) https://github.com/settings/profile,
verifique seu nome de usuário
https://github.com/settings/emails,
verifique se seu email é bom

4- Eu segui o tutorial do git aqui

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

marcdahan
fonte
0

No meu caso, nada foi bem-sucedido, depois de um tempo olhando o que estava acontecendo, encontrei isso no meu arquivo de configuração. Não sei como chegou lá

% 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://

Depois de remover as propriedades da URL, tudo estava funcionando bem novamente

Bruno Manzo
fonte
0

O CentOS Minimal geralmente instala a versão 1.8 git por yum install gitcomando.

A melhor maneira é compilar e instalar a partir do código fonte. A versão atual é2.18.0 .

  1. Faça o download do código-fonte em https://mirrors.edge.kernel.org/pub/software/scm/git/ oucurl -o git-2.18.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.18.0.tar.gz

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

  3. Instale o pacote de dependência executando yum install autoconf curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel asciidoc xmlto openjade perl* texinfo

  4. Instale o docbook2X, ele não está no repositório rpm. Baixe e instale 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

E crie um nome de link 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 todas as informações do documento $ sudo make install install-doc install-html install-info

  2. Reinicie o servidor (caso contrário, você poderá encontrar Unable to find remote helper for 'https' erro)

    $ reinicie agora

  3. Teste:

    $ git clone https://github.com/volnet/v-labs.git $ cd v-labs $ touch test.txt $ git add. $ git commit -m "teste a instalação do git" $ git push -u

Eric Kung
fonte
0

Eu recebi esse erro no Windows enquanto usava o TortoiseGit. Reinstalar o Git para Windows e informar ao TortoiseGit o caminho para o git.exe, executando novamente o Assistente de Inicialização, o corrigiu.

Mateus
fonte
0

No meu caso, git --exec-pathestava apontando para o caminho correto e git-remote-httpsexistia, mas não tinha permissão de execução. Então chmod +x git-remote-httpcorrigiu o problema.

nicolausSim
fonte