Ubuntu源碼安裝最新版本git
Git 是個低頻更新但很重要的開發軟件,系統官方倉庫的版本總是落後最新版不少,不想安裝額外的日更源的話,手動源碼安裝最新版本是不錯的解決方法。
1. 安裝依賴包(install libraries that Git depends)
1 sudo apt-get install dh-autoreconf libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev install-info
2. 下載 git 源碼包 (grab the latest source package)
源碼包在kernel.org,懂的都懂,Linus 創造,必須放在高大上的地方, 地址爲: https://www.kernel.org/pub/software/scm/git 按時間找到最新版本,寫這個文章的時候最新版本包爲:git-2.37.0.tar.xz
3. 解壓到指定位置,我一般喜歡把非系統的源碼包放在/opt (uncompress the files)
1 ➜ sudo tar -xvf git-2.37.0.tar.xz -C /opt/
2 git-2.37.0/
3 git-2.37.0/.cirrus.yml
4 git-2.37.0/.clang-format
5 git-2.37.0/.editorconfig
6 git-2.37.0/.gitattributes
7 ....
4. 編譯安裝 (configuire && make install)
1 ➜ cd /opt/git-2.37.0
看看默認編譯參數(check default location)
1 ➜ git-2.37.0 ./configure --help
2 `configure' configures git 2.37.0 to adapt to many kinds of systems.
3
4 Usage: ./configure [OPTION]... [VAR=VALUE]...
5
6 To assign environment variables (e.g., CC, CFLAGS...), specify them as
7 VAR=VALUE. See below for descriptions of some of the useful variables.
8
9 Defaults for the options are specified in brackets.
10
11 Configuration:
12 -h, --help display this help and exit
13 --help=short display options specific to this package
14 --help=recursive display the short help of all the included packages
15 -V, --version display version information and exit
16 -q, --quiet, --silent do not print `checking ...' messages
17 --cache-file=FILE cache test results in FILE [disabled]
18 -C, --config-cache alias for `--cache-file=config.cache'
19 -n, --no-create do not create output files
20 --srcdir=DIR find the sources in DIR [configure dir or `..']
21
22 Installation directories:
23 --prefix=PREFIX install architecture-independent files in PREFIX
24 [/usr/local]
25 --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
26 [PREFIX]
27
28 By default, `make install' will install all the files in
29 `/usr/local/bin', `/usr/local/lib' etc. You can specify
30 an installation prefix other than `/usr/local' using `--prefix',
31 for instance `--prefix=$HOME'.
32
33 For better control, use the options below.
符合規範,沒有有必要特殊設置,開始編譯
1 ➜ git-2.37.0 sudo ./configure
2 configure: Setting lib to 'lib' (the default)
3 configure: Will try -pthread then -lpthread to enable POSIX Threads.
4 configure: CHECKS for site configuration
5 checking for gcc... gcc
6 checking whether the C compiler works... yes
安裝
1 ➜ git-2.37.0 sudo make install
2 GIT_VERSION = 2.37.0
3 * new build flags
4 CC fuzz-commit-graph.o
5 CC fuzz-pack-headers.o
6 ......
檢查結果,新安裝的版本:
1 ➜ git-2.37.0 /usr/local/bin/git --version
2 git version 2.37.0
原來系統的版本爲:
1 ➜ git --version
2 git version 2.34.1
把老的版本備份爲 git_old,留條退路是個好習慣。並確認環境變量 PATH 的搜索路徑中有/usr/local/bin
1 ➜ sudo mv /usr/bin/git /usr/bin/git_old
2 ➜ echo $PATH
3 /home/mephisto/.cargo/bin:/home/mephisto/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
大功告成
1 ➜ git -v
2 git version 2.37.0
最後修改於: Monday, August 28, 2023
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。