Замена установленного вручную perl-модуля на версию из пакета |
[исправить] |
Иногда требуется заменить ранее вручную установленный perl-модуль на его
вариант, появившийся в составе дистрибутива (Ubuntu/Debian).
Для удаления установленного вручную модуля можно использовать скрипт:
#!/usr/bin/perl -w
use ExtUtils::Packlist;
use ExtUtils::Installed;
$ARGV[0] or die "Usage: $0 Module::Name\n";
my $mod = $ARGV[0];
my $inst = ExtUtils::Installed->new();
foreach my $item (sort($inst->files($mod))) {
print "removing $item\n";
unlink $item;
}
my $packfile = $inst->packlist($mod)->packlist_file();
print "removing $packfile\n";
unlink $packfile;
Запускаем скрипт для удаления, например, модуля XML::SAX:
# chmod u+x rm_perl_mod.pl
# ./rm_perl_mod.pl XML::SAX
Устанавливаем вариант модуля из пакетов:
# apt-get install libxml-sax-expat-perl
|
|
|
|
Раздел: Корень / Программисту и web-разработчику / Perl / Функции и модули в Perl |
1.1, Андрей (??), 11:31, 25/03/2010 [ответить]
| +2 +/– |
А может просто не надо загаживать систему?
Ставя из исходников использовать например замечательную утилиту stow.
А дальше все просто
--preifix=/usr/local/stow/prog_name
make
make install
cd /usr/local/stow
stow prog_name
| |
|
2.2, Sugar (ok), 12:07, 25/03/2010 [^] [^^] [^^^] [ответить]
| +/– |
Вопрос: а на зачем??
В совете предлагается использовать пакетный менеджер, который отследит все зависимости, имхо это правильно.
| |
2.4, Samm (??), 23:41, 25/03/2010 [^] [^^] [^^^] [ответить]
| +/– |
Это называется не загаживать систему? ололо. Я еще понимаю юзать cpan - далеко не все есть в пакетах и в большинстве систем cpan либо регистрируется в списке пакетов (фря) либо ставит себя в не-системный путь, который при в PERLLIB находится до системного (чтобы можно было оверрайдить). На крайняк хоть свой репозиторий можно сделать. Но так, в /usr/local... no way
| |
|
1.6, Пытливый Ум (?), 00:53, 26/03/2010 [ответить]
| +/– |
Может кто знает как запретить перловым модулям регистрироваться в системе портов в FreeBSD при установке оных через CPAN ?
| |
|
2.7, Samm (??), 03:19, 26/03/2010 [^] [^^] [^^^] [ответить]
| +/– |
>Может кто знает как запретить перловым модулям регистрироваться в системе портов в
>FreeBSD при установке оных через CPAN ?
Зачем???
| |
|
1.8, Пытливый Ум (?), 20:34, 26/03/2010 [ответить]
| +/– |
Затем, что при установке через CPAN регистрируются не все пакеты. Многие из тех, что регистрируются (даже p5-..., а не bsdpan-...) не обновляются. Т.е. ничего кроме мусора при такой регистрации нет. Да и просто удобнее всем перловым хозяйством управлять из одного места
| |
|