12

我想使用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

4 回答 4

8

安装包subversion-perl

于 2010-03-31T12:59:39.283 回答
3

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

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

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) 现在运行perl Build.PLAlien-SVN-v1.6.12.1 目录中的

6)它会要求一些选项

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

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

8)成功运行Build.PL后,运行./BuildAlien-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 :)

于 2011-11-25T08:27:48.210 回答
2

据我所知,Alien::SVN 及其组成模块不再维护。它编译的 subversion 二进制文件非常旧(1.4,大约 2006 年)。您最好将管道连接到预安装的(和最新的)二进制文件。

于 2010-04-27T17:56:34.187 回答
-4
cpan> install SVN::Client 
于 2010-03-31T12:27:01.670 回答