安装 svn 最新版本 1.10.x
SVN 的全称是 Subversion,即版本控制系统。它曾经是最流行的一个开放源代码的版本控制系统(现在肯定是 Git)。
Subversion 是一个通用的系统,可用来管理任何类型的文件,其中包括程序源码。
一、使用包管理器自动安装
官网提供了常见 Linux 发行版的安装命令,此处仅以 CentOS、Debian 及 Ubuntu 为例进行说明,其它系统详见官网:https://subversion.apache.org/packages.html
⚠️ 注意:一般各发行版系统中内置的软件包都不是最新的,如果需要安装最新稳定版的 Subversion,请使用方法二中的源码安装。
CentOS
1
2➜ yum install subversion
➜ yum install mod_dav_svnDebian
1
2➜ apt-get install subversion
➜ apt-get install libapache2-mod-svnUbuntu
1
2➜ apt-get install subversion
➜ apt-get install libapache2-svn
二、源码编译安装
官网源码下载页:https://subversion.apache.org/download.cgi
最新稳定版(推荐) | 上一稳定版 |
---|---|
subversion-1.10.2.tar.bz2 | subversion-1.9.9.tar.bz2 |
subversion-1.10.2.tar.gz | subversion-1.9.9.tar.gz |
subversion-1.10.2.zip | subversion-1.9.9.zip |
2.1 安装依赖
本文安装的最新 subversion-1.10.x 版本,需要安装依赖 apr 和 apr-uti,官网下载地址在这里: http://apr.apache.org/download.cgi。
低于当前最新版本的源码,可能还需要下面的基础依赖,请根据安装过程是否报错自行选择:
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
yum install -y expat-devel
yum install -y bzip2
解压 ***.bz2** 文件时需要用到。- sqlite-autoconf-3250100.tar.gz 在高版本的 Subversion 源码包中已内置。
另外,对于 v1.7 以下的版本,官方有直接提供依赖包的安装下载,比如:subversion-deps-1.6.12.tar.gz、 subversion-1.6.12.tar.gz,直接进入 subversion-deps*
目录下安装所需依赖即可。
安装 apr
1
2
3
4
5
6➜ wget -c http://mirrors.shu.edu.cn/apache//apr/apr-1.6.5.tar.gz
➜ tar -zxvf apr-1.6.5.tar.gz
➜ cd apr-1.6.5
➜ ./configure --prefix=/usr/local/apr
➜ make
➜ make install安装 apr-util
1
2
3
4
5
6➜ wget -c http://mirrors.shu.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
➜ tar -zxvf apr-util-1.6.1.tar.gz
➜ cd apr-util-1.6.1
➜ ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
➜ make
➜ make install
2.2. 安装 Subversion
下载、编译、安装
1 | ➜ wget -c http://mirrors.shu.edu.cn/apache/subversion/subversion-1.10.2.tar.gz |
其中:
--with-lz4=internal
1
configure: error: Subversion requires LZ4 >= r129, or use --with-lz4=internal --with-serf=/usr/local/serf
--with-utf8proc=internal
1
configure: error: Subversion requires UTF8PROC
--with-serf=/usr/local/serf
开启 HTTP 和 HTTPS 访问支持可能报错:
configure: error: Serf was explicitly enabled but an appropriate version was not found.
解决:
1
2
3
4
5
6
7
8
9
10
11# 使用 scons 编译、安装
➜ wget https://svwh.dl.sourceforge.net/project/scons/scons/2.3.3/scons-2.3.3.tar.gz
➜ tar xvf scons-2.3.3.tar.gz
➜ cd scons-2.3.3
➜ python setup.py install
➜ wget https://archive.apache.org/dist/serf/serf-1.3.9.tar.bz2
➜ tar xjvf serf-1.3.9.tar.bz2
➜ scons PREFIX=/usr/local/serf APR=/usr/local/apr APU=/usr/local/apr-util
➜ scons install
➜ scons -c报错:
svn: error while loading shared libraries: libserf-1.so.1: cannot open shared object file: No such file or directory
解决:
1
2➜ cd /usr/local/subversion/lib
➜ cp /usr/local/serf/lib/libserf-1.so.1 ./
2.3. 添加环境变量
1 | ➜ echo "export PATH=/usr/local/subversion/bin:$PATH" >> /etc/profile |
2.4. 验证安装
1 | ➜ svn --version |
当遇到下面的问题时:
1 | ➜ svn --version |
修复
1 | ➜ echo 'export LC_ALL=C' >> /etc/profile |