-
2019-03-14 14:56:22
本博客旨在帮助人们正确的学习在Ubuntu下正确的学习git的姿势,总所周知,apt安装的git都版本太老了,为了更新版本,可以选择源码编译git的。
笔者的环境 :Ubuntu 16.04 GIt 2.20.1
编写时间:2019.3.14以下是步骤
https://github.com/git/git/releases 在此处安装下载最新的git源码包然后解压
tar -vzxf git-2.20.1.tar.gz cd git-2.20.1
然后安装所需要的lib依赖包
sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
然后编译
sudo make prefix=/usr/local all
然后安装
sudo make prefix=/usr/local install
然后查看git版本 看是否安装成功
git --version
然后请尽情的使用git吧!!!
Q1:可能存在编译不过去的情况,通常是缺少依赖的lib包的原因,因此,请务必确保在编译安装之前安装好所有的依赖lib。
更多相关内容 -
Linux下源码编译安装 Git
2019-06-28 14:19:25Linux下源码编译安装 Git Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。 这篇博客,介绍下Linux下安装Git的步骤,仅供参考,当然,...Linux下源码编译安装 Git
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。
这篇博客,介绍下Linux下安装Git的步骤,仅供参考,当然,还是yum安装,比较简单方便。。。
更多关于Git的内容,请看下面的链接:
Git官方文档:Git-BookGit工作流:深入理解学习Git工作流
-
执行安装
连接到服务器并登录成功后,输入如下指令,进行下载安装:yum install git
界面显示如下:
出现询问是否下载时,输入y,点击回车,耐心等待安装完成:
-
验证安装结果
输入命令:git --version
,查看安装的Git版本,验证是否安装成功;
-
查看安装信息
Git默认安装在/usr/libexec/git-core目录下,可输入指令,查看安装信息:
-
存在的问题
使用yum安装确实简单方便,但yum存在一个问题就是安装的版本不好控制,如上图所示,安装的版本为1.8.3,这个版本太老了。
登录github的Git版本发布界面,可以看到目前最新的版本为2.17,如下图所示:
如果需要安装最新的版本Git,可以从github下载最新的源码进行编译,然后安装。-
源码编译安装Git
大体的安装步骤如下:-
获取github最新的Git安装包下载链接,进入Linux服务器,执行下载,命令为:
wget https://github.com/git/git/archive/v2.17.0.tar.gz
; -
压缩包解压,命令为:
tar -zxvf v2.17.0.tar.gz
; -
安装编译源码所需依赖,命令为:
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
耐心等待安装,出现提示输入y即可; -
安装依赖时,yum自动安装了Git,需要卸载旧版本Git,命令为:
yum remove git
出现提示输入y即可; -
进入解压后的文件夹,命令
cd git-2.17.0
,然后执行编译,命令为make prefix=/usr/local/git all
耐心等待编译即可; -
安装Git至/usr/local/git路径,命令为
make prefix=/usr/local/git install
; -
打开环境变量配置文件,命令
vim /etc/profile
,在底部加上Git相关配置信息:PATH=$PATH:/usr/local/git/bin
export PATH
然后保存,退出!
-
输入命令
git --version
,查看安装的git版本,校验通过,安装成功。
-
-
-
源码编译git 填坑 git 错误 fatal: Unable to find remote helper for http或https
2020-08-14 17:26:31问题产生: git clone https://github.com/NVlabs/cub.git ...or fatal: unable to access 'https://github.com/**.git/': Protocol ...git 依赖 curl, curl 依赖 openssl 解决办法问题产生:
git clone https://github.com/NVlabs/cub.git fatal: Unable to find remote helper for 'http/https' or fatal: unable to access 'https://github.com/**.git/': Protocol "https" not supported or disabled in libcurl
问题原因:
git 依赖 curl, curl 依赖 openssl解决办法
- 尝试重装git无效
- 尝试重装curl, 再重装git无效, 不过此时提示,似乎发现了什么原因…
Protocol "https" not supported or disabled in libcurl
-源码编译openssl
curl
git
最后完美解决
1. 最简单办法
改变git 克隆地址像下面这样操作
git clone git@github.com:NVlabs/cub.git
将前面的改成 即可,大部分用户修改后都能clone成功。
但是我这种情况,使用此方法无法解决问题(即使修改完所有仓库地址,还会有子仓库的情况,导致clone出错,所以请请接着下看~~)2. 确认是否缺少
git-remote-https
sudo find / -name git-remote-https --> /usr/local/libexec/git-core/git-remote-https
如果出现上面情况,显示出
git-remote-https
所在路径,那么很简单,将/usr/local/libexec/git-core/*
拷贝到/usr/local/bin
, 重开终端即可sudo cp /usr/local/libexec/git-core/* /usr/local/bin/
当然,大部分用户是搜索不出来的…
因为系统压根没装相关依赖库…
那么请接着往下看3. 编译openssl
点击 官方网站 下载如下版本, 也可直接点击此处下载对应版本
openssl-1.1.1g.tar.gz
tar zxf openssl-1.1.1g.tar.gz cd openssl-1.1.1g ./config --prefix=/usr/local make -j4 sudo make install
4. 编译curl
点击 官方网站 下载如下版本, 也可直接点击此处下载对应版本
curl-7.71.1.tar.gz
tar zxf curl-7.71.1.tar.gz cd curl-7.71.1 # --with-ssl 参数设置为上一步中编译的open-ssl安装路径 ./configure --prefix=/usr/local --with-ssl=/usr/local # 结果如下 --> ... curl version: 7.71.1 SSL: **enabled (OpenSSL)** SSH: no (--with-{libssh,libssh2}) zlib: enabled brotli: no (--with-brotli) GSS-API: no (--with-gssapi) SSH: no (--with-{libssh,libssh2}) zlib: enabled brotli: no (--with-brotli) GSS-API: no (--with-gssapi) ... HTTP2: disabled (--with-nghttp2) HTTP3: disabled (--with-ngtcp2, --with-quiche) ESNI: no (--enable-esni) Protocols: DICT FILE FTP FTPS GOPHER **HTTP HTTPS** IMAP IMAPS POP3 POP3S RTSP SMB SMBS SMTP SMTPS TELNET TFTP
显示
SSL: enabled (OpenSSL)
和最后一行中显示HTTP HTTPS
即表示ok然后接着继续编译
make -j4 sudo make isntall
如果编译过程中出现如下错误
vtls/openssl.c:438:15: error: implicit declaration of function ‘RAND_egd’; did you mean ‘RAND_add’? [-Werror=implicit-function-declaration] int ret = RAND_egd(data->set.str[STRING_SSL_EGDSOCKET]?
是因为电脑里已经安装了openssl,将其卸载即可参考
# centos sudo yum remove openssl-devel # ubuntu sudo apt-get remove libssl-dev
如果出现如下错误
checking run-time libs availability... failed configure: error: one or more libs available at link-time are not available run-time. Libs used at link-time: -lssl -lcrypto -lz
则说明本机安装的ssl路径有问题,将其添加到环境变量即可
查看/usr/local/openssl
/usr/local/ssl
/usr/local/lib64
下是否有相应的libssl.so
库已经发现centos下动态库可能会装到
/usr/local/openssl
或/usr/local/lib64
下例如我的机器装到了
/usr/local
下,那么可执行文件在/usr/local/bin/
下, 动态库在/usr/local/lib64
下,那么我将按照如下方式添加环境变量echo "export PATH=\"\$PATH:/usr/local/bin\"" >> ~/.bashrc echo "export LD_LIBRARY_PATH=\"/usr/local/lib64\"" >> ~/.bashrc source ~/.bashrc ldconfig
5. 编译git
点击 github git 官网 下载如下版本, 也可直接点击此处下载对应版本
git-2.27.0.zip
解压编译
unzip zxf git-2.27.0.zip cd git-2.27.0 yum install autoconf make configure ./configure prefix=/usr/local make -j4 sudo make install
在
make -j4
的时候如果出现找不到各种符号,那么就是链接libcurl.so
的时候,链接到了系统的libcurl.so
, 可以echo $PATH
查看路径, 或者执行curl --version
打印出版本号不是我们刚刚编译的版本号,那么证明系统已经有了curl,那么我们只需要按照如下操作即可,改变环境变量里面路径的先后顺序即可echo "export PATH=\"/usr/local/bin:\$PATH\"" >> ~/.bashrc echo "export LD_LIBRARY_PATH=\"/usr/local/lib:\$LD_LIBRARY_PATH\"" >> ~/.bashrc source ~/.bashrc
6. 测试
重开命令行测试
(base) [swls@MiWiFi-R3-srv ~]$ git clone https://github.com/NVlabs/cub.git Cloning into 'cub'... remote: Enumerating objects: 33207, done. ^Cceiving objects: 9% (3154/33207), 1.61 MiB | 220.00 KiB/s
完美解决!!!
-
linux环境下git源码编译安装
2020-09-01 16:08:24今天想在linux上安装一个git,但是系统自带的版本不满足自己的需求,所以打算安装最新版的git。 step1:安装依赖 yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-...今天想在linux上安装一个git,但是系统自带的版本不满足自己的需求,所以打算安装最新版的git。
step1:安装依赖
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
step2:下载最新版git
wget https://github.com/git/git/archive/v2.28.0.tar.gz -C /usr/local
step3:解压
cd /usr/local && tar -xf git-2.28.0.tar.gz && cd git-2.28.0
step4:编译
make prefix=/usr/local/git all
step5:安装
make prefix=/usr/local/git install
step6:配置环境变量
echo 'export GIT_HOME=/usr/local/git' >> /etc/profile echo 'export PATH=$GIT_HOME/bin:$PATH' >> /etc/profile source /etc/profile
step7:检查安装是否成功
git --version
-
linux下shell自动编译安装git下载的ffmpeg源码
2018-12-19 13:49:57ffmpeg官网上的doc帮助更新很快,但是实际放出的编译好的release并不支持,...【注意】我下载的是3.3,已在生产环境中使用1年多,你也可以自己到github上下载最新的ffmpeg源码,替换_package中的FFmpeg-master.zip即可 -
Git 通过源码编译安装 2.12.2 遇到的问题及解决
2017-04-11 10:13:44Git 源码:https://github.com/git/git/releases wget https://github.com/git/git/archive/v2.12.2.tar.gz错误:Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/... -
linux下源码编译安装git
2016-04-03 21:05:44如果yum install git可以直接安装的可以不通过源码编译安装。 源码安装步骤如下 1.首先下载git源码 地址:http://codemonkey.org.uk/projects/git-snapshots/git/ 比如地址:http://codemonkey.org.uk/proj -
Grafana源码编译–Windows
2021-01-08 01:18:17Grafana源码编译–Windows 准备工作 1、系统:Windows 2、软件: (1)GO:尽量使用跟Grafana源码版本一样的Go版本,通过Github上https://github.com/grafana/grafana/网址,源码根目录下有个go.mod,打开文件,第二... -
go 语言源码编译
2021-01-08 03:30:35go语言官网提到go1.4版本是用c实现工具链的最新版,这也是其它go源码编译代码需要这个go1.4版本的原因。 mkdir bootstrap #其中bootstrap目录与前面下载go代码生成的goroot目录是平级的,当然读者可以自己定义 cd ... -
【指导】从源码编译安装Git-Ubuntu
2015-11-04 11:02:451 下载源码包 官网:https://git-scm.com/ 源码包:...2 编译安装Git 1)安装编译源码包的工具: $sudo apt-get installlibcurl4-gnutls-dev libexpat1-dev gettext libz-dev libs -
在Ubuntu环境中编译Git源代码
2017-07-30 12:23:50在Ubuntu系统中下载并编译Git源代码 -
在ubuntu20.04下配置android P源码编译环境
2021-01-03 12:59:11如何在ubuntu20.04下配置 魔趣P 源码编译环境及常见错误解决一 Ubuntu20.04 LTS 安装更新软件源->阿里云1.安装Chrome2.安装Vim3.点击图标最小化二 配置魔趣源码环境1.下载 git2.设置 git 账户3.下载python4.配置PATH... -
Git服务器端编译安装源码
2017-09-20 16:35:07这个是Git服务器端编译安装源码,来源于官方,配合本人博客使用,主要是针对APP开发的朋友使用,搭建自己的Git服务器端,自己服务器上面的代码仓库。 -
Git 使用源代码包编译、配置部署和使用 && 使用包管理工具安装
2021-01-07 23:58:20文章目录目录准备编译安装使用测试使用包管理工具安装、卸载、查询安装位置 目录准备 使用普通用户执行一下即可。如wuyujin。(新建用户命令:useradd wuyujin) 下载 wget ... -
安装git编译安装
2022-02-06 11:53:011.设置yum源,yum安装git,发现是老版本 2.现在安装新版本首先把老版本卸了在git官网上找新版本的tar.gz的Git到本地电脑上 官网链接Index of /pub/software/scm/git/ (kernel.org) 复制到Linux服务器的根目录... -
Maven命令行编译Git源码 & flume-ng-sql-source源码编译打包
2019-12-26 12:10:43本文描述使用Maven编译Git下载的源码 在实现flume同步SQL数据到HDFS时,由于需要使用Git开源项目flume-ng-sql-source,而Git上面只有源码,因此需要自行编译。 过程 从Git开源项目flume-ng-sql-source上下载源码... -
java执行源码-reboot:具有JIT源代码编译和Git依赖项的Java执行框架
2021-05-24 19:47:06java 执行源码 -
ubuntu git 源码编译安装
2014-07-30 19:35:38ubuntu git 源码编译安装 git是流行的分布式版本控制系统,从ubuntu官网下载iso镜像安装完10.10 desktop版后,默认没有安装git客户端。 本文发布时最新的git版本是1.7.4.3 安装git依赖的工具和库 sudo ... -
Ubantu16.04进行Android 8.0源码编译的流程
2021-01-05 06:29:13编译源码 运行 源码下载 安装git并且配置 //安装git sudo apt-get install git //配置git名称和邮箱 git config --global user.name your name git config --global user.email XXX@XXX.com 创建repo的bin目录和... -
树莓派下编译seafile需要的git包源码
2018-04-28 09:34:22树莓派下编译seafile需要的git包源码树莓派下编译seafile需要的git包源码 -
编译安装git
2021-04-30 17:27:36所以目前在centos系统上安装新版本的git只能通过编译源码安装。 如果系统已经安装了git旧版本可以先卸载:yum remove git, 通过 git version 查看版本 一:安装依赖 yum install curl-devel expat-devel ... -
CentOS6.8源码安装git
2016-11-30 16:55:03(3)下载git源码并解压 $ wget https://www.kernel.org/pub/software/scm/git/git-2.11.0.tar.gz $ tar -zxvf git-2.11.0.tar.gz $ cd git-2.11.0 (4)编译安装 $ make prefix=/usr/local/git all ... -
tensorflow 1.13源码编译
2021-01-06 15:42:05编译tensorflow之前先要安装bazel; 去https://github.com/bazelbuild/bazel/releases/tag/0.19.2下载需要的dbe,采用dpkg -i bazel_0.19.2-linux-x86_64.deb安装。 编译tensorflow $ git clone ... -
Linux上编译git源码
2020-02-28 13:12:39Linux上编译git源码原文地址:Linux上编译git源码 -
【spark2.4.4源码编译】windows环境编译spark2.4.4
2021-01-20 12:24:40windows环境编译spark2.4.4源码环境要求环境安装源码下载源码编译注意事项后记 环境要求 操作系统环境:Windows 10(Windows7、Windows8亦可) Java版本: jdk1.8 Scala版本:2.11.0 Maven版本:3.5.4 Git版本:版本... -
Ubuntu下升级git版本(源码编译安装git)
2016-01-18 16:54:11结合自己的经验,部分内容有改动 Ubuntu自带的git是1.7的版本的,太旧了,所以想升级下,git官网上没有提供现成的安装包,所以只能源码编译了。...linux上源码编译安装Git拢共分两步...第一步,安装编译git的依赖包 -
centos7编译安装git
2021-12-19 13:23:24centos7编译安装git -
PX4固件源码编译中的坑
2021-01-08 03:46:091、创建仿真环境,第一步是源码编译PX4固件: 我的飞控是pixhawk4 (1)建立工作空间,克隆固件源码 mkdir -p ~/src cd ~/src git clone https://github.com/PX4/Firmware.git cd Firmware git submodule update --... -
Spark源码编译
2018-12-15 15:18:40Spark源码编译 解决工作中避免出现的Bug ● 在线安装git(root 用户下) yum install git ● 创建一个目录克隆spark源代码 mkdir -p /projects/opensource cd /projects/opensource git clone ... -
【Git】Linux &Ubuntu——源码编译安装Git 2.x 版本
2018-11-07 23:31:09Git是一个开源的分布式版本控制系统,可以有效,高速的处理从很小到非常大的项目版本... 在进行源码编译安装之前,需要先解决好,编译过程中的Git需要的依赖关系库 # CentOS: [-> #~ ] yum install -y curl-d...