我想使用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工作?
答案 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