Какой установщик cpan является правильным? (CPAN.pm/CPANPLUS/cpanminus)

59

Существует несколько инсталляторов для доступных модулей cpan; Я знаю, по крайней мере, CPAN.pm(поставляется с perl,) CPANPLUS и cpanminus.

В чем разница между тремя?

Какие ситуации требуют использования одного над другим?

Есть ли другие установщики модулей, о которых я должен знать?

Теги:
cpan

4 ответа

71
Лучший ответ

CPAN.pm (cpan) - это оригинальный клиент. Он поставляется с Perl, поэтому у вас уже есть его. Он имеет большинство функций. Он имеет множество параметров конфигурации, чтобы настроить способ работы.

Его самым большим ограничением является его конфигурация. Хотя последние версии улучшили его, он часто задавал много вопросов, прежде чем вы могли начать установку модулей. Люди, не знакомые с Perl, могут не знать правильных ответов.


cpanminus (cpanm) - попытка сделать клиент с нулевой конфигурацией, который автоматически делает правильную вещь для большинства пользователей. Он также предназначен для работы в системах с ограниченными ресурсами (например, прост в установке. Он легко интегрируется с local::lib.

Его самым большим ограничением является отсутствие конфигурации. Если вы хотите сделать что-то необычное, может не поддерживать его.


CPANPLUS (cpanp) - попытка сделать CPAN API, который могут использовать программы Perl, вместо приложения, которое вы использовать из командной строки. Оболочка cpanp является скорее доказательством концепции, и я не знаю никаких реальных преимуществ ее использования.


В общем, я бы рекомендовал либо cpan, либо cpanm. Если у вас возникли проблемы с настройкой cpan, попробуйте cpanm. Если ваша ситуация необычна, попробуйте cpan.

  • 2
    Спасибо! Это резюме именно то, что мне нужно.
  • 3
    Последний cpan (1) также интегрируется с local :: lib :)
Показать ещё 3 комментария
12

Невозможно ответить на этот вопрос, потому что он слишком субъективен.:)

С моей точки зрения: cpanm - это самый простой способ установки perl-модулей. Вы можете установить cpanm с помощью:

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

и после этого вы можете установить модули с простым:

cpanm Some::Module

Вы можете использовать cpanm для зеркалирования (части) CPAN для вашего локального компьютера, поэтому IMHO cpanm является наилучшим для наиболее общих потребностей CPAN.

  • 0
    Это невероятный лайнер!
  • 1
    Ууууу ... использование sudo здесь обычно плохая идея.
Показать ещё 10 комментариев
6

Существуют ли другие установщики модулей я должен знать?

Если вы используете дистрибутив Linux для пакетов модулей CPAN, то для установки модулей стоит использовать свою программу установки пакетов. Например, Ubuntu/Debian имеет огромное количество модулей CPAN, которые вы можете установить с помощью "apt", а Red Hat/Centos/Fedora - номер, который можно установить с помощью "yum".

  • 2
    Стоит отметить, что вы часто видите, что проекты советуют против такого подхода, потому что пакеты часто бывают устаревшими и привязывают вас к единой общесистемной версии, содержащейся в едином общесистемном наборе всех установленных модулей. Для простых случаев это действительно, вероятно, путь, но стоит узнать о local :: lib / cpan (или pip / virtualenv, rbenv / rvm).
  • 0
    @SamBrightman Возможно, вы захотите ответить или прокомментировать следующий вопрос: serverfault.com/questions/805850/…
3

CPAN является стандартом. cpanminus (cpanm) задает меньше вопросов (лучше всего в большинстве случаев). Я не знаю никого, кто использует cpanplus.

Так как эти модули делают, это загрузка, компиляция и установка (размещение файлов в правильных местах), все они должны выполнять одну и ту же задачу. Некоторая разница имеет отношение к уровню разрешений, который у вас есть. Возможно, вы хотите установить некоторые локальные вещи для своего пользователя и некоторые вещи во всем мире, тогда вам нужна более тонкая настройка. Разработчикам также может потребоваться контроль/прерывание процесса для отладки и т.д.

Для ежедневного использования используйте cpanm, если вы не слишком ленивы для его установки, тогда CPAN в порядке.

  • 1
    Я не понизил голос, но, пожалуйста, прочитайте мета, почему комментарий на голосование не был обязательным - они затрагивают некоторые довольно хорошие аргументы ... нет необходимости использовать жесткие слова.
  • 1
    @ Konerak, когда мой ответ имеет такое же содержание (опубликованное ранее, не столь красноречиво), как принятый и хорошо проголосованный ответ, меня раздражает, когда мой ответ не только игнорируется, но и подвергается отрицательному голосованию
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню