Команда Perl cpan
- это мощный способ управления модулями Perl. Тем не менее, при обслуживании модулей по всей системе под UNIX Michal Ingeli отмечает, что другой возможной опцией является yum install 'perl(PerlModuleName)'
. Если это возможно, должен ли я быть первым в этом случае?Yum/apt-get перед cpan для управления UNIX общесистемными модулями Perl?
Например, команда cpanm CGI
устанавливает модуль CGI в моем каталоге ~/perl5, что может быть лучше, если CGI-модуль необходим только для скриптов, выполняемых под моей учетной записью. Но это не даст модулю CGI скриптам, выполняемым другими учетными записями.
я могу использовать cpanm -l <directory>
, чтобы заставить команду cpanm
загрузить модули в определенный каталог (например, cpanm -l /usr/local CGI
установить CGI в/USR/местные/Библиотека/perl5), или я могу редактировать ~/cpan/CPAN/MyConfig.pm
изменить установки по умолчанию местоположение cpan
использует.
Но почти во всех системах существует несколько расположений системной библиотеки Perl (/ usr/local/share/perl5,/usr/share/perl5/vendor_perl,/usr/lib64/perl5 и т. Д.) И выбирая правильные один из них несколько произволен, так как они не генерируются командой cpan.
Имея это в виду, следует ли мне обратиться к yum
(если имеется) до cpan
для общесистемного управления модулем UNIX Perl? Это достаточно легко проверить с помощью команды:
yum install 'perl(LWP::Simple)'
Если ни не удались в этом случае, я бы упасть обратно:
cpanm -l <directory> LWP::Simple
Что вы рекомендуете в этом типе случая, и почему?
(Обратите внимание, что nxadm ответил на более общий вопрос об этом.)
Суммируя ответы до сих пор:
Если это вообще возможно, использовать менеджер системы пакетов обновления CPAN. Например, для LWP :: Simple:
yum install 'perl(LWP::Simple)'
илиapt-get install liblwp-simple-perl
Если предыдущий не удается, попробуйте реализовать отдельную среду Perl, в котором использовать Модули CPAN не присутствуют в общесистемных библиотеках. Рассмотрение local::lib или Perlbrew для этого;
Только если вышеуказанные параметры не применяются, используйте
cpanm -l <directory>
для загрузки модуля в общесистемный каталог.
Да. В пакетной управляемой системе, если менеджер пакетов предоставляет необходимое вам программное обеспечение, я бы предложил использовать его, прежде чем делать что-либо еще. –
Обычно вам не следует смешивать установки пакетов с установками CPAN. Если вы хотите использовать систему perl, используйте диспетчер пакетов; в противном случае лучше всего установить свой собственный perl и использовать CPAN. – ThisSuitIsBlackNot
То же самое относится к 'dpkg' в системах на базе Debian (например, Ubuntu), хотя схема именования пакетов отличается. Одна из проблем заключается в том, что не все модули CPAN будут доступны в репозитории пакета вашей ОС (поэтому вам нужно «cpanm» в качестве резервной копии). –