Установите BioPerl с помощью пользовательского пути к библиотеке.

Я попытался установить новую версию BioPerl на свой компьютер без рута и получил ошибки, касающиеся слишком старых версий необходимых модулей. Поэтому я установил их в пользовательский каталог.

Есть ли возможность установить параметр библиотеки рядом с --install_base для установки? Инструкции README и INSTALL просто предоставляют его для установки с использованием cpan, что для меня не вариант.

Спасибо

Мои попытки:

my $dir=catdir('home','user','my','bioperl');
my $lib=catdir('home','user','my','lib');
push @INC , $lib;
$lib=$lib.':'.$_ for @INC;

1.

system("cd tools/BioPerl-1.6.923 && perl Build.PL --install_base $dir && ./Build test && ./Build install");

2.

system("export EXPATLIBPATH=$lib && cd tools/BioPerl-1.6.923 && perl Build.PL --install_base $dir && ./Build test && ./Build install");

3.

system("export PERL5LIB=$lib && cd tools/BioPerl-1.6.923 && perl Build.PL --install_base $dir && ./Build test && ./Build install");

person pyr0    schedule 22.05.2014    source источник
comment
Почему вы пытаетесь установить модуль Perl из программы Perl? Это просто удобство или это часть большой Perl-программы? Я бы подумал, что сценарий bash будет более подходящим. Пожалуйста, объясните, какая у вас проблема. Этот подход не работает?   -  person Borodin    schedule 22.05.2014
comment
это всего лишь часть моей программы, и ее можно сделать и в bash. я получаю следующее сообщение: Checking prerequisites... build_requires: ! Test::Most is not installed и Module::Build version 0.42 required--this is only version 0.4003 поэтому я загрузил новые версии этих модулей и установил их в /home/user/my/lib/perl5   -  person pyr0    schedule 22.05.2014
comment
Хорошо, но, конечно же, вам не нужно переустанавливать модуль каждый раз, когда вы запускаете программу. Вы должны начать с установки Test::Most и обновления Module::Build, так как установка модулей таким образом не обновляет зависимости. Почему нельзя использовать CPAN?   -  person Borodin    schedule 22.05.2014
comment
к сожалению, нам не разрешено иметь root и cpan не установлен, кроме того, я стараюсь предоставить свое программное обеспечение как можно более простым в установке   -  person pyr0    schedule 22.05.2014
comment
Тогда, по крайней мере, вы должны предоставить отдельный сценарий установки. Вы не должны переустанавливать при каждом запуске. Что вы собираетесь использовать, если нет cpan? Без него вам придется разрешать все зависимости вручную, что является плохой идеей.   -  person Borodin    schedule 22.05.2014
comment
правильно :D но у меня нет других вариантов на данный момент. кстати, эти модули будут установлены только один раз.   -  person pyr0    schedule 22.05.2014
comment
Затем я написал бы bash-скрипт, который устанавливает все неосновные модули и зависимости, добавляет их в PERL5LIB и экспортирует их, а также записывает команду для экспорта в .profile.   -  person Borodin    schedule 22.05.2014
comment
Не связывайтесь с системным perl. Вместо этого используйте perlbrew для установки собственного Perl и любых библиотек, которые вам нужны.   -  person Sinan Ünür    schedule 22.05.2014


Ответы (1)


Отсутствие root-доступа — распространенная проблема, поэтому существует perlbrew.

\curl -L http://install.perlbrew.pl | bash

Затем просто установите cpanminus для использования с perlbrew: Installing to local perl (perlbrew).

curl -L http://cpanmin.us | perl - App::cpanminus

Это должно позволить вам иметь стабильную среду для установки всех ваших модулей, включая Bio::Perl. Можно просто сделать следующее или также прочитать How do I install the latest BioPerl version when using perlbrew?

cpanm Bio::Perl
person Miller    schedule 22.05.2014