這個(gè)故事的發(fā)生:
使用vs code遠(yuǎn)程CentOS開發(fā)结榄,提示Git版本需要>=2.0版本搅幅;
眾所周知CentOS上yum源安裝的Git最新版還是1.8版本雏搂;
要安裝2.0+版本的危喉,只能通過源碼編譯安裝了钻趋;
然后查找到安裝資料烧董,按著一步步操作毁靶,下載,解壓逊移,都算正常预吆;
之后就是編譯,報(bào)錯胳泉,找資料修改拐叉,再編譯,還報(bào)錯扇商;
再找資料修改凤瘦,編譯,還報(bào)錯案铺,一直這樣...
大半天就這樣過去蔬芥,找了很多資料,都未能解決我的問題红且;
都想要放棄了坝茎,直到晚上11點(diǎn),一個(gè)想到的嘗試暇番,終于解決了嗤放。
寫了那么長牢騷,可以跳過壁酬,直接看下文次酌,希望我的經(jīng)歷能解決到你所遇到的同樣問題。
環(huán)境說明
本文檔的驗(yàn)證基于 CentOS-7.9 + Git-2.25.2 版本舆乔,解決思路可參考岳服。
解決的問題
目的就是要在CentOS7上安裝2.0以上版本的Git,達(dá)到Git更新的版本希俩。
Git資源
源碼包地址:
https://mirrors.edge.kernel.org/pub/software/scm/git/
git-2.25.2 版本地址:
https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.25.2.tar.xz
這個(gè)地址的資源吊宋,網(wǎng)絡(luò)好慢,最好下載xz的壓縮包颜武,體積更小璃搜,下載會快些拖吼。
也可以下載其它較新的版本,不要貪最新的版本这吻,我就是貪最新的版本吊档,所以編譯不成功,也找不到問題有用的資料唾糯,最后換成了 git-2.25.2 版本怠硼,才解決了。
安裝過程
root用戶登錄CentOS移怯,少煩惱很多香璃。所以下面操作過程都是root用戶環(huán)境。
1芋酌、切換到本地源碼目錄
cd /usr/local/src
2增显、使用wget下載Git源碼,選xz的壓縮包
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.25.2.tar.xz
3脐帝、使用tar解壓源碼
# 解壓源碼
tar -xJf git-2.25.2.tar.xz
4同云、編譯之前需要先安裝編譯所需要的的依賴
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
5、卸載舊版Git
yum -y remove git
6堵腹、查看目錄進(jìn)入源碼目錄
ls
cd git-2.25.2
7炸站、獲取openssl路徑
which openssl
# 我的輸出結(jié)果是 /usr/local/bin/openssl
8、編譯前的配置疚顷,使用上面得到的路徑
# 替換你自己的路徑
./configure --with-openssl=/usr/local/bin/openssl
9旱易、編譯安裝,這一步?jīng)]問題腿堤,那都萬事大吉啦
# 編譯
make prefix=/usr/local/git all
# 安裝
make prefix=/usr/local/git install
10阀坏、修改全局環(huán)境變量
# 編輯配置文件
vi /etc/profile
# 找到 PATH 變量,在末尾追加 :/usr/local/git/bin
export PATH=$PATH/bin:/usr/local/git/bin
# 保存退出
11笆檀、重新加載環(huán)境
source /etc/profile
12忌堂、查看Git版本
# 查看版本
git version
# 正常會輸出 git version 2.25.2
看到Git的版本號,大功告成啦酗洒。
最后回想
剛開始士修,使用了最新版本git-2.37.2
編譯不成,也找不到解決辦法
后面看了Ubuntu上安裝的最新版本是git-2.25.1
所以樱衷,就更換這個(gè)版本來編譯安裝了棋嘲,也就成功解決問題了
經(jīng)過這個(gè)問題的解決,以后遇到問題矩桂,也可以用這樣的思路去解決問題了