"在git clone期间无法找到'https'的远程助手"

Ben*_*n K 221 linux git ubuntu

我无法克隆HTTPS存储库.我可以克隆SSH repos,但不能克隆HTTPS repos.我无法测试GIT协议,因为我在公司防火墙后面.

这就是我想要做的:

$ git clone https://github.com/nvie/gitflow.git
Cloning into gitflow...
fatal: Unable to find remote helper for 'https'
Run Code Online (Sandbox Code Playgroud)

我到目前为止尝试过以下内容(基于Google搜索)

  • 清除并安装Git apt-get
  • build-deps通过Git 安装apt-get
  • 安装curl dev库
  • 安装expat库
  • 使用以下方法下载Git源代码和构建:
    • ./configure --prefix=/usr --with-curl --with-expat
    • 还尝试在curl binary(./configure --prefix=/usr --with-curl=/usr/bin/curl)指向configure

我已经尝试了所有我能在网上找到的没有运气的东西.谁能帮我?

Git版本= 1.7.6.4

OS = Ubuntu 11.04

Tas*_*ode 264

在编译git时,看起来没有安装(lib)curl-devel会导致这种情况.

如果您安装(lib)curl-devel,然后重建/安装git,这应该可以解决问题:

$ yum install curl-devel
$ # cd to wherever the source for git is
$ cd /usr/local/src/git-1.7.9  
$ ./configure
$ make
$ make install
Run Code Online (Sandbox Code Playgroud)

这对Centos 6.3来说很有用.

如果您没有yum,可以在此处将源代码下载到curl-devel:


如果您正在运行Ubuntu:

sudo apt-get install libcurl4-openssl-dev 
Run Code Online (Sandbox Code Playgroud)

  • 在Ubuntu 12.04 LTS上我需要的包是:`sudo apt-get install libcurl4-openssl-dev` (17认同)
  • 这些步骤对我有用.CentOS 5.8 32位; git版本1.8.0 (4认同)
  • 在Ubuntu 10.04 LTS上我需要的包是:`sudo aptitude install libcurl4-openssl-dev` apt-get有依赖性问题,aptitude似乎可以解决它 (2认同)

Thi*_*nan 65

如果您尝试克隆,那么您可以使用git传输

例如: 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
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你的建议.不幸的是,我在阻止git协议端口的公司防火墙后面工作,他们不会为我打开它.我一直在下载tarball来绕过这个问题,但我真的想让我的git安装正常工作! (3认同)
  • 正如其他人提到的那样,git://通常不是理想的,但显然如果你处于https://根本不起作用的情况,你可以使用`git config --global url."git:/ /".insteadof https://`强制`git`始终使用git://而不是https://.如果您尝试使用子模块进行克隆(例如使用`--recursive`),这可能很有用. (2认同)

小智 43

我使用" git://"而不是" https://"来解决问题.我最后的命令是:

git clone --recursive git://github.com/ceph/ceph.git
Run Code Online (Sandbox Code Playgroud)

  • 这是一种解决方法,而不是解决方案.它可用于回购,但不适用于gists,而不适用于OP,因为他的公司防火墙. (14认同)
  • @PatrickFisher但它**在您无权安装curl-devel库的环境中工作和/或sysadmin不会立即安装它们. (2认同)

CWB*_*dde 38

万一有人在QNAP系统或OPKG作为包管理器的任何其他系统上遇到此问题:

你需要和git一起安装git-http.喜欢:

opkg install git-http
Run Code Online (Sandbox Code Playgroud)

  • 你救了我的一天!这正是我的情况.我在Xpeonology系统上使用"entware"来获取更多Linux软件包,在"opkg install git"之后,"git clone https://"将失败并显示错误:致命:无法找到"https"的远程帮助程序".感谢您提及此"git-http"软件包. (2认同)

小智 15

在CentOS 5.x上,安装curl-devel为我解决了这个问题.

  • @RyanM:这对我有用.我在你的git代码上安装了curl-devel`然后我`./ configure`,`make`和`make install`.然后https://为我工作.这是在CentOS 5.8上 (8认同)

小智 13

我有同样的问题,解决它很简单.

只需卸载git并重新安装即可.

#apt-get remove --purge git-svn git-core
#rm /usr/local/bin/git
#apt-get install git-svn git-core
Run Code Online (Sandbox Code Playgroud)

一切都运作良好.

希望这有帮助.

  • 你应该做apt-get remove --purge git (2认同)

小智 13

如果在通过 github 命令行实用程序绑定使用 github 时发生此问题,则该问题可能是由于使用 gh 的 snap 版本造成的。

如果您可以使用 进行克隆git clone并且不会出现此错误,则问题出在 .snap 版本上gh

最终,github 文档拯救了我们!
https://github.com/cli/cli/blob/trunk/docs/install_linux.md

以下是节省时间的步骤(debian/ubuntu/Raspberry PiOS):

curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh
Run Code Online (Sandbox Code Playgroud)

  • 这是被低估的答案:D,snap 软件包存储库存在问题 (3认同)

Ped*_*eis 11

在我们的案例中,问题在我们检查时已修复

git --exec-path
Run Code Online (Sandbox Code Playgroud)

指向一条不复存在的道路。(它指向的是我们编译git的路径,而不是之后我们复制给任何人访问的路径)

我们做了:

export GIT_EXEC_PATH=<path_of_/libexec/git-core/>
Run Code Online (Sandbox Code Playgroud)

解决了


Top*_*gio 9

我有完全相同的问题,它归结为一个未满足的依赖,但是,我尝试了接受的答案的解决方案,它没有工作.

最终对我有用的是安装以下所有内容(这是RedHat):

sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
Run Code Online (Sandbox Code Playgroud)

之后,我运行了指定的其他命令,它工作正常:

./configure
make
sudo make prefix=/usr/local install
Run Code Online (Sandbox Code Playgroud)

我直接从Git的网站上删除了依赖项列表.显然我应该从那里开始:/


Jud*_*der 6

解决这个问题最简单的方法是,以确保git-core被添加到path您的当前用户

如果您将以下内容添加到您的 bash 配置文件中,~/.bash_profile这通常应该可以解决问题

PATH=$PATH:/usr/libexec/git-core
Run Code Online (Sandbox Code Playgroud)


rof*_*rol 5

这在Centos 6.6中适用于我安装git 2.3.1:

  1. 我没有安装curl-devel(检查-lcurl中的curl_global_init ... no).关键是生成配置脚本

  2. 为docboox2x 添加 rpmforge

  3. 安装包

    yum install openssl-devel zlib-devel perl-ExtUtils-MakeMaker svn tcl perl-Locale-Msgfmt gettext asciidoc xmlto docbook2x
    
    Run Code Online (Sandbox Code Playgroud)
  4. 制作符号链接

    ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
    
    Run Code Online (Sandbox Code Playgroud)
  5. 建立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
    
    Run Code Online (Sandbox Code Playgroud)