Git 編譯安裝,常見問題記錄 (Centos6)

Git 官方信息

Git 編譯安裝

# 安裝依賴包
yum install dh-autoreconf curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel nss -y

tar -zxf git-2.0.0.tar.gz
cd git-2.0.0
make configure
./configure --prefix=/usr/local/git2
make
make install

常見錯誤和解決方法

一、系統包含多個版本依賴庫,導致編譯時引用衝突

場景描述: git 在編譯時需要依賴 curl 相關庫,筆者在編譯的主機上之前安裝過 anaconda ,裏面包含新版本的 curl 和相關庫,並且存在於 PATH 環境變量中,在 ./configure 的時候,會去 anaconda 裏面找相關依賴庫,而不去系統庫找。 因此係統上我安裝了 curl,curl-devel 也無濟於事。 而 anaconda 裏面的庫與編譯 git 相關依賴不兼容,導致編譯失敗。 同時報出庫依賴衝突的錯誤。

解決方法: 筆者通過手動在當前終端下,設置 PATH 環境變量,去除 anaconda 相關的路徑,只保留系統默認的。 讓 git 在編譯時只能去系統庫下面找相關依賴,避免依賴衝突。

# 之前,包含 anaconda 環境變量
echo $PATH
/home/anaconda3/bin:/home/anaconda3/condabin:/usr/local/subversion/bin/:/usr/lib64/qt-3.3/bin:/usr/local/git2/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

# 手動在當前終端設置 PATH
export PATH=/usr/local/subversion/bin/:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

二、fatal: HTTP request failed

場景描述: 使用 git clone 獲取 github 的代碼時,出現如下錯誤。

error:  while accessing https://github.com/lib/pq/info/refs
fatal: HTTP request failed

解決方法: 原因是 Centos 自帶的 git 版本太低,需要更新 git。 參考本文,編譯安裝。

三、git fatal: Unable to find remote helper for 'https'

場景描述: 編譯安裝完 git 之後,使用的時候出現該錯誤。

解決方法: 出現該問題的原因是在編譯 git 時,curl,curl-devel 相關依賴沒有正確加載,需要檢查編譯步驟,確保安裝了curl,curl-devel 相關庫,重新編譯。

四、SSL connect error

場景描述: git clone 出錯,SSL connect error

解決方法: 原因是缺少相應的庫安裝上即可,可以在編譯時就安裝上。

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