如何安装Perl的SVN :: Client?

时间:2010-03-31 12:25:17

标签: perl svn cpan

我想使用SVN::Client cpan模块检查存储库中的代码。

但是如何安装和使用这个模块?文档有点不存在。

我尝试通过cpan安装Alien :: SVN模块并自行构建。 它似乎安装好了。没有错误消息,当我再次进入cpan并执行以下操作时,它表示已安装Alien :: SVN模块。

cpan> install Alien::SVN 
Alien::SVN is up to date. 

这是我的类使用SVN :: Client:

use strict;
use warnings;
use Alien::SVN;
use SVN::Client;


sub new {
 my $self = {
  localpath => ''
 };
 bless($self);
 return $self;
}

sub update_repository{
 my ($self) = @_;

 my $svn = SVN::Client->new();
 return $svn->update($self->_getPath(), 'HEAD', 1);
}
sub _getPath{
 my ($self) = @_;
 return $self->{localpath};
}

因此,当我使用脚本调用此类的更新存储库方法时,我收到以下错误:

Can't locate SVN/Client.pm in @INC (@INC contains: /opt/STS /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /
usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /opt/STS/svn.pm line 7.

我也尝试使用Alien :: SVN更改使用SVN :: Client,但没有运气。

有没有人有一个代码的工作示例,或者有用的提示让Alien :: SVN / SVN :: Client工作?

4 个答案:

答案 0 :(得分:8)

安装包subversion-perl

答案 1 :(得分:3)

按照以下步骤在您的系统上安装Alien-SVN模块:

1)从CPAN下载最新的Alien-SVN模块 http://search.cpan.org/CPAN/authors/id/M/MS/MSCHWERN/Alien-SVN-v1.6.12.1.tar.gz

2)使用taz-zxf <Package_name>

解压缩文件

3)cd Alien-SVN-v1.6.12.1

4)Alien-SVN需要Apache Portable Runtime。要下载APR和APR-Util运行时,请在Alien-SVN-v1.6.12.1目录中运行以下命令

svn co http://svn.apache.org/repos/asf/apr/apr/branches/1.2.x \apr
svn co  http://svn.apache.org/repos/asf/apr/apr-util/branches/1.2.x \apr-util

5)现在运行Alien-SVN-v1.6.12.1目录中的perl Build.PL

6)它会要求一些选项

7)它会询问您是否要传递一些参数来配置。给出如下参数

--with-apr=<path_where_you_chechek_out_apr> --with-apr-util=<path_where_you_chechek_out_apr-util>

8)成功运行Build.PL后,运行./Build Alien-SVN-v1.6.12.1目录。

9)成功运行./Build后,打开位于的native目录    Alien-SVN-v1.6.12.1/src/subversion/subversion/bindings/swig/perl/native

10)运行以下命令:     perl Makefile.PL     make     make install

11)这将在您的系统上安装Alien-SVN:)

答案 2 :(得分:2)

据我所知,Alien :: SVN及其组成模块已不再维护。它编译的颠覆二进制文件非常陈旧(1.4,大约2006年)。您可能最好不要使用预先安装的(并且是最新的)二进制文件。

答案 3 :(得分:-4)

cpan> install SVN::Client