Я использую следующий код для установки модуля Perl, но это побудило некоторые вопросы во время установки:Установить Perl модуль без подсказки
BEGIN{
unless(eval { require Archive::Extract }){
require CPAN;
CPAN::Shell->force("install","Archive::Extract");
}
}
use Archive::Extract;
Дело в том, некоторые старые установки Perl (like 5.8
) не этот полезный модуль и я не уверен, что использовать вместо него))
Я пробовал разные способы обойти эту проблему, например, используя код PERL_MM_USE_DEFAULT=1
, но все же не повезло. Этот форум содержит некоторые ответы, как определить хэш с настройками по умолчанию, но эти способы слишком сложны для новичков.
Есть ли более простой способ установки модуля без приглашения? спасибо.
Обновление: Я использую разные производные Linux, такие как Ubuntu 10.04, CentOS 6 и т. Д. Я устанавливаю часть программного обеспечения с помощью этого скрипта (только для личного использования).
В каких версиях perl или CPAN.pm у вас возникли проблемы? Какие вопросы задают? – ysth
Не надо. Если вы пишете программное обеспечение с зависимостями, укажите их в своем файле Makefile. Зависимости - это то, что нужно для установщика. Программа должна упасть с ошибкой «не найти модуль», а не пытаться установить что-то, что у пользователя может не иметь (системных) разрешений для установки. – Quentin
Да, я понимаю, что не должен. Но сценарий предназначен для моего личного использования. Я пытаюсь установить некоторое программное обеспечение с помощью этого скрипта. Я попробую прочитать о Makefiles. – Andrew