Я не могу найти ответ на это нигде: модуль, установленный через APT, конфликтуют с одним установленным через CPAN?
Наряду с тем вопросом они: Где установленные модули CPAN живут? Действительно ли они доступны глобально или только пользователю установки? Как Вы знаете который? Как Вы знаете то, что установлено и который имеет приоритет?
CPAN должен даже использоваться, когда модули установлены через APT?
На Debian и Ubuntu CPAN (/usr/bin/cpan
утилита), устанавливает модули в /usr/local/lib/
по умолчанию. И пакеты debian удерживают свои файлы /usr/share/perl5/
и /usr/lib/perl5/
. Так файлы, установленные через /usr/bin/cpan
не перезапишет файлы, установленные через Кв.
Нет ничего неправильно с использованием системного жемчуга, и склонное смешивание и код cpan будет обычно работать.
Можно также принять решение упаковать любое cpan распределение, не доступное в способных репозиториях вручную. Это легко с помощью dh-make-perl инструмента:
dh-make-perl --cpan Some::Module && cd Some-Module* && sudo debi
Я использую perlbrew. Это устанавливает локальную версию Perl и cpan. Все, что это делает, сделано в Вашем корневом каталоге. Это является прямым, чтобы установить и использовать, и можно установить последнюю версию Perl.
При установке от CPAN непосредственно я рекомендовал бы использовать local::lib для каталога, частного Вам. Посмотрите boostrapping технику https://metacpan.org/module/local:: lib
Тем путем установленный модуль CPAN будет только использоваться Вашим пользователем, и он будет иметь очень чистое разделение от модулей установленным с помощью APT.
Это также поможет избавиться от CPAN-установленных модулей при обнаружении с какой-либо проблемой или когда Вы обновляете Ubuntu.
Это - то, как я использую его на Ubuntu.
Можно использовать обоих, но они будут конфликтовать. Они записаны в то же место поэтому, если Вы устанавливаете что-то из Кв. и затем устанавливаете более позднюю версию от cpan, Вы могли bodge вещи.
Я не делаю большого количества Perl, но в Python у меня, конечно, есть дилемма, о которой Вы говорите: apt-vs-PyPI. Я лично выбираю Кв. каждый раз, когда я могу. Это означает, что я должен получить обновления, не имея необходимость не забывать поддерживать каждый отдельный пакет Python. Не только это, но и это означает, что все мои системы должны работать на той же версии тех пакетов.
Это не всегда удается. Иногда у Вас нет достаточно новых вещей в repos или чем-то, в чем Вы нуждаетесь, просто не упаковывается. Никакой путь не прекрасен, но я верю склонный быть более прекрасным. Просто знайте о том, что Вы делаете, и необходимо быть хорошо.
Редактирование - Почти забыло, существует лучший способ разделить вещи, таким образом, система может иметь свою собственную среду и независимо от того, что Вы разрабатываете, может жить в ее собственной среде (что Вы справляетесь полностью с CPAN), Как Python virtualenv
...