Как мне установить Perl's SVN :: Client? - PullRequest
12 голосов
/ 31 марта 2010

Я хочу использовать модуль SVN :: Client cpan для извлечения кода из хранилища.

Но как установить и использовать этот модуль? Документация вроде не существует.

Я попытался установить модуль Alien :: SVN через cpan и собрать его сам. И, кажется, установить хорошо. Нет сообщений об ошибках, и когда я снова захожу в 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.

Я также попытался изменить использование SVN :: Client с использованием Alien :: SVN, но безуспешно.

У кого-нибудь есть рабочий пример кода или полезный совет, чтобы заставить Alien :: SVN / SVN :: Client работать?

Ответы [ 4 ]

8 голосов
/ 31 марта 2010

Установить пакет subversion-perl.

3 голосов
/ 25 ноября 2011

Выполните следующие шаги для установки модуля Alien-SVN в вашей системе:

1) Загрузите последний модуль Alien-SVN из CPAN. 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. Чтобы загрузить 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.PL, который находится внутри каталога Alien-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 запустите каталог ./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 голосов
/ 27 апреля 2010

Насколько я могу судить, Alien :: SVN и составляющие его модули больше не поддерживаются. Бинарный файл subversion, который он компилирует, очень старый (1.4, около 2006). Возможно, вам лучше использовать конвейер с предварительно установленным (и современным) двоичным файлом.

0 голосов
/ 31 марта 2010
cpan> install SVN::Client 
...