Linux(CentOS 7)下安裝和升級Git 系統版本

yum 安裝

yum install git

// 查看版本
git --version

 

但是通過 yum 安裝的 git 版本爲 1.8.3 版本太老,以下爲升級操作

升級之前先要卸載之前的老版本Git,命令 yum remove git

 

1、查看 git 的版本發版界面:https://github.com/git/git/releases;發現最新版本爲2.2.0

image.png

2、進入/usr/src目錄,通過wget執行下載包的操作,我習慣在/usr/src下使用wget下載,只是個人習慣

cd /usr/src
wget https://github.com/git/git/archive/v2.22.0.tar.gz

3、解壓壓縮包:tar -zxvf v2.22.0.tar.gz

4、安裝編譯碼所需依賴,出現提示輸入 Y 剩下只需等待即可

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

5、進入解壓的文件夾,執行安裝命令

cd git-2.22.0

# 執行編譯,命令爲
make prefix=/usr/local/git all
# 執行安裝,命令爲,安裝到/usr/local/git
make prefix=/usr/local/git install

### 建議使用下面這組命令,上面的命令有可能會報錯
# 執行編譯,命令爲
make CFLAGS=-liconv prefix=/usr/local/git all
# 執行安裝,命令爲,安裝到/usr/local/git
make CFLAGS=-liconv prefix=/usr/local/git install

如果執行的是 make prefix=/usr/local/git all,有可能出現以下錯誤

/usr/src/git-2.22.0/utf8.c:492:對‘libiconv’未定義的引用
libgit.a(utf8.o):在函數‘reencode_string_len’中:
/usr/src/git-2.22.0/utf8.c:587:對‘libiconv_open’未定義的引用
/usr/src/git-2.22.0/utf8.c:597:對‘libiconv_close’未定義的引用
/usr/src/git-2.22.0/utf8.c:592:對‘libiconv_open’未定義的引用
collect2: 錯誤:ld 返回 1
make: *** [git-credential-store] 錯誤 1

6、以上正確安裝後,查看 Git 版本 git --version 會報 -bash: git: 未找到命令 錯誤,原因是我們把git安裝到了 /usr/local/git 目錄下,git --version默認找的是 /usr/bin/git命令,剛纔我們已經卸載了,可通過軟連來操作

# 先刪除 /usr/bin/git
rm -rf /usr/bin/git
# 創建
ln -s /usr/local/git/bin/git /usr/bin/git

image.png

同時更新一下nss yum update -y nss curl libcurl

至此操作成功!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章