安装svn就是在Ubuntu中安装subversion,因为是老师分的服务器,并不是root用户,整个过程就麻烦了许多。
这时候只有通过源码来安装。
以apr为例(我最先安的apr)
https://www-us.apache.org/dist//apr/apr-1.7.0.tar.gz
wget https://www-us.apache.org/dist//apr/apr-1.7.0.tar.gz
一般来说在哪个文件夹下运行,就是下载到哪个文件夹了。
但是我遇到一个问题,就是说我的文件夹是/home/ncc,直接运行上面命令会提示没有权限,执行下面命令就可以了
cd /home/ncc && wget https://www-us.apache.org/dist//apr/apr-1.7.0.tar.gz
tar xzvf apr-1.7.0.tar.gz
./configure --prefix=/home/ncc/software/apr
目录要提前创建好。而且prefix前面一定要加 -- !!!!我就是忘了,然后后面安的时候路径一直不对,一直说我没有权限,因为它的默认路径是/usr/local/apr,这个不是root用户访问不了的。
我查了好多网页,其中apr和apr-util是都必须要安的,我就先安了这两个,但是要注意的是,apr和apr-util版本是要互相对应的。比如我安的apr-1.7.0,对应的apr-util-1.6.1。
安完了这两个之后我就直接去安subversion了,这时候它还需要什么依赖会提示,之后就按照它的提示继续去安各种包。
1、安装apr
这个比较简单,按照步骤一步一步来就可以,我中间遇到一个比较智障的问题,就是上面说的prefix前忘了加 --
2、安装apr-util(版本与apr对应)
3、安装sqlite
这一部分是在安了一下subversion之后,提示说还需要安sqlite,并在命令行中给出了所要求的版本以及下载链接,所以安这个的时候一定要注意版本问题!!
4、安装openssl
这个是因为安装serf时候需要的,我试了一下电脑中有的OpenSSL,发现不行,需要自己安。
5、安装serf
由于安装的是1.3.9版本的serf,所以需要用scons来安装,不能用make。
错误1:print 'Warning: Used unknown variables:', ', '.join(unknown.keys())
解决:打开文件注释掉这句话
错误2:cannot use a string pattern on a bytes-like object
6、安装subversion
错误3:configure: error: Subversion requires LZ4 >= r129, or use --with-lz4=internal
解决:./configure命令添加 --with-lz4=internal选项
错误4:configure: error: Subversion requires UTF8PROC
解决:./configure命令添加 --with-utf8proc=internal
错误5:configure: error: failed to recognize APR_INT64_T_FMT on this platform
解决:用vim打开configure
把下面这三句话注释了,就可以继续./configure操作了
# if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
# as_fn_error $? "failed to recognize APR_INT64_T_FMT on this platform" "$LINENO" 5
# fi
错误6:libtool:error: '/usr/local/apr/lib/libapr-1.la' is not a valid libtool archive
解决:apr-util 需要依赖apr,在apr-util的lib目录下的la文件中将对apr库的依赖路径修改一下,应该是自动会改,不清楚为什么没有改,手动改了之后就好了。
错误7:svn: error while loading shared libraries: libserf-1.so.1: cannot open shared object file: No such file or directory
解决:可以看出是动态链接库没配好,因为是非root用户,百度到的去/etc下修改是行不通的。但是!可以载~/.bashrc里面配置环境变量,这个是没用限制的!方法如下!配置完以后一定要运行source ~/.bashrc!!!!!!
下面是Linux下非root用户安装软件的一般流程:
获取源代码,常用wget方式直接从url下载,ubuntu可以用apt-get source来获取仓库中软件源代码;
解压源代码安装包,多为gzip过的tar包,一般使用tar -zxvf xxx.tar.gz即可;
切换到解压后的目录,运行 ./configure。./configure –help可以列出配置项,非root用户最重要的配置项是安装目录prefix,例如 ./configure –prefix=/path/to/bin。在无法自动找到依赖库位置的情况下,用 –with-xx-dir=xxx 的形式配置依赖库位置;
编译源代码并复制可执行文件到指定的安装目录: make && make install。这两条命令可以分开执行,make时指定 -j 参数并行编译,能显著减少编译耗时(单进程编译GCC需要几个小时,开启并行编译后可缩短到十几分钟);
使用export PATH=/path/to/bin:$PATH更新PATH变量。命令行窗口运行此命令只对本次会话中有效,可将其写到.bashrc或者.bash_profile中;
如果安装的是动态链接库,则需要更新动态链接库路径: export LD_LIBRARY_PATH=/path/to/library:$LD_LIBRARY_PATH。最好将此命令写在.bashrc文件中,用户下次打开会话时自动执行。
第5、6步是非常必须的!!!一定要配置环境变量,不然无法使用!!我安完后运行svn --version,提示没有安subversion,我都惊呆了~~~~~~
安了整整一天,使用以及windows安装等我安的时候再同步记录.....................
-----------------------------------------------------------------------------------------------------------------------------
1、创建仓库
2、修改配置
改下面四个地方,分别是:
在conf目录下还有passwd文件,在里面添加用户。
修改authz文件
配置组的信息和组的权限,组内我只加了我自己一个用户,配置的权限是在本库内有读写权限。也可根据上面的例子配置用户信息和用户权限。
然后就可以启动svn了
路径为自己创建的仓库。
windows配置写另一篇文章吧,这个太长了。
参考链接:
https://tlanyan.me/work-with-linux-without-root-permission/
https://www.cnblogs.com/wwl1991/p/3752696.html
https://www.cnblogs.com/xypbk/p/10811447.html
呵呵我几乎综合了所有网页的错误,是个错误集合呢O(∩_∩)O呵呵~