【转】svn http://提示svn: Unrecognized URL scheme错误

转自:http://blog.csdn.net/l241002209/article/details/8547943

SVN这个东西虽然不好用(当然也是因为自身没有重视,但是谁让GIT这么好用呢…!),但是公司暂时用的还是SVN,因此还是不得不每天应对它。

由于一直用 phpstorm 因此SVN的操作都是GUI,非常方便(推荐…!),但是今天由于有个需求我需要写个命令让SVN自动更新,因此需要在终端中直接使用SVN的命令行工具,但是…关键时刻就给我掉链子了!

在终端中输入:

1
svn update

然后就悲剧了,提示项目的svn是1.7及以上的,我的svn版本太低!表示记得前一阵子刚刚更新过了的。用 svn version 一看,果然是1.6.

但是1.7确实是记得手动更新过的,不甘心,在目录中找,果然在 /usr/local/bin/中找到了1.7的svn版本,然后在 /usr/bin/ 中找到了1.6版本的svn!

系统默认先调用 /usr/bin 中的!

于是定位到原因,估计是升级系统到 moutain lion 的时候,又自动在 /usr/bin 中给我安装了系统自带的 1.6 的svn,于是覆盖了我的1.7的…悲剧!

于是…最简单的方法,就是把1.7的覆盖掉 local/bin 中的1.6版本!覆盖完之后,在终端中查看,果然 version 变成1.7了,于是继续 svn update ,结果接续报错:

1
svn: E170000:Unrecognized URL scheme for http*

F******k!

好吧,Google之,得到答案如下: 答案

没细看…反正SVN要使用 http 类型的仓库需要某块支持,然后报这个错误意味着它可能找不到一个名为 neon 的模块了。因此需要重新编译安装svn,告诉它这个模块在哪里。

因此做法是:

  • 下载最新的 neon ,然后 ./configure , make , make install 安装好
  • 配置SVN源码 :
1
$ ./configure --with-ssl --with-apr=/usr/local/apache2/bin/apr-config --with-apr-util=/usr/local/apache2/bin/apu-config --with-neon=/usr/local
  • 编译安装: make , make install

在配置SVN源码之前,细心的我还是发现了我的路径里面不存在/usr/local/apache2 这个目录,看了下面的评论,这个应该是在你要配置一台svn服务器时使用,因此像我这种情况,就直接使用

1
$ ./configure --with-ssl --with-neon=/usr/local
 
 
 
安装neon:
./configure --with-ssl=openssl
make && make install
安装svn:
./configure --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr/ --with-neon=/usr/local/neon/ PREFIX=/usr/local/svn/ 
make && make install
 

在linux下安装完subversion1.4+apache2.2.4之后,能够正确的增加库。但是在使用svn http://...的时候提示svn: Unrecognized URL scheme的错误。
1、查看了subversion的资料之后认识到了问题所在。
Subversion 使用外掛系統來存取檔案庫. 目前有三個這樣的外掛: ra_local 可以存取本地檔案庫, ra_dav 可以透過 WebDAV 存取檔案庫, 而 ra_svn 可以透過 svnserve 伺服器來進行本地或遠端的存取。當你想要在 Subversion 進行一個作業時, 用戶端會試著依 URL schema 動態載入一個外掛. file:// URL 會試著載入 ra_local, 而 http:// URL 會試著輸入 ra_dav。
执行svn --verion输出以下内容
svn,版本 1.4.3 (r23084)
   编译于 Jan 26 2007,15:45:15
版权所有 (C) 2000-2007 CollabNet。
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/
此产品包含由 CollabNet (http://www.Collab.Net/)开发的软件。
可使用以下的仓库存取 (RA) 模块: 
* ra_svn : 使用svn网络协议访问仓库的模块。
- 处理“svn”方案
* ra_local : 访问本地磁盘的仓库模块。
- 处理“file”方案
确实没有发现支持ra_dav的模块。
2、./configure --help
阅读输出的内容发现了一个--with-neno的选项
--with-neon=PREFIX      Determine neon library configuration based on
                          'PREFIX/bin/neon-config'. Default is to search for
                          neon in a subdirectory of the top source directory
                          and then to look for neon-config in $PATH.
查找neon的相关信息
http://www.webdav.org.neno
neon is an HTTP and WebDAV client library, with a C interface. Featuring
下载neon-0.25.5.tar.gz
tar -xvzf neon-0.25.5.tar.gz
cp -rf neon-0.25.5 ./subversion-1.4.2/neon
***注意:此处neon要和configure,Makefile在同一个文件夹下,而且名字也要正确。
3、重新编译subversion
./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl > conflog.txt
****注意:一定不要加--with-neon选项,不加的话,会默认在 ./subversion-1.4.2下查找neon-config
如果你增加了--with-neon选项,就需要写成 --with-neon=PREFIX    查看./configure --help的解释是: 
Determine neon library configuration based on 'PREFIX/bin/neon-config'. Default is to searc
h for neon in a subdirectory of the top source directory and then to look for neon-config in $PATH.
make
make install

**注意:按照上面方法,安装的可执行文件在/usr/local/subversion/bin下。
需要到/usr/local/bin下增加对应的符号链接文件。
ln -S svn /usr/local/subversion/bin/svn
 

转载于:https://www.cnblogs.com/xlmeng1988/p/3431321.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
详见:http://blog.csdn.net/cyteven/article/details/16370159 1、安装zlib tar zvxf zlib-1.2.5.1.tar.gz cd zlib-1.2.5.1 ./configure --prefix=/usr/local/zlib make make install’ 2、安装openssl tar zvxf openssl-0.9.8l.tar.gz cd cd openssl-0.9.8l ./config --prefix=/usr/local/ssl-0.9.8l shared zlib-dynamic enable-camellia ./config -t make depend make make test make install cd /usr/local ln -s ssl-0.9.8l ssl vi /etc/ld.so.conf 加入如下内容: /usr/local/ssl/lib ldconfig vi /root/.bash_profile 若原来没有安装openssl的旧版本,则放在PATH中的任何位置都可以,但是记住要用冒号分隔开,而不是分号分隔,详见后面的截图,若想查看当前的PATH环境变量都设置了什么,可以使用如下的命令实现 cd /root/ source .bash_profile echo $PATH 可以查看修改后效果 验证: ldd /usr/local/ssl/bin/openssl 3、安装sqllite tar -zvxf sqlite-autoconf-3071502.tar.gz cd sqlite-autoconf-3071502 ./configure --prefix=/usr/local/sqlite make make install 4、安装expat tar zvxf expat-2.1.0.tar.gz cd expat-2.1.0/ ./configure --prefix=/usr/local/expat make make install echo /usr/local/lib >> /etc/ld.so.conf ldconfig 5、开始安装apr tar zvxf apr-1.4.6.tar.gz //解压 cd apr-1.4.6/ ./configure --prefix=/usr/local/apr make make install 6、开始安装apr-util cd apr-util-1.4.1/ ../configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ make make install echo /usr/local/apr-util/lib/ >> /etc/ld.so.conf 7、安装neon tar zvxf neon-0.30.0.tar.gz ./configure --prefix=/usr/local/neon --enable-shared make make install 8、安装svn tar -zvxf subversion-1.5.0.tar.gz tar zvxf subversion-deps-1.5.0-rc5.tar.gz cp -ri subversion-1.5.0-rc5/* subversion-1.5.0 cd subversion-1.5.0 ./configure --prefix=/usr/local/svn -with-apr=/usr/local/apr -with-apr-util=/usr/local/apr-util/ -with-neon= -with-zlib=/usr/local/zlib/ --with-ssl make make install 9、验证 cd /usr/local/svn/bin ./svn --version 11、哈哈成功了(现在可以正常使用svn并且可以正确更新http的站点) 之前一直遇到错误: 前面两个,是subversion编译的默认模块,ra_dav是大多数人遇到的问题。如果ra_dav没有编译到系统中,当你从http://这样的路径checkout时,会出现这样的错误提示svn: Unrecognized URL scheme 环境变量配置 添加环境变量: export PATH="$PATH:/usr/local/svn/bin" 这个地方可以执行export指令来验证一下是否配置成

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值