2012-02-26 2 views
2

Я использую следующий код для установки модуля 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 и т. Д. Я устанавливаю часть программного обеспечения с помощью этого скрипта (только для личного использования).

+0

В каких версиях perl или CPAN.pm у вас возникли проблемы? Какие вопросы задают? – ysth

+5

Не надо. Если вы пишете программное обеспечение с зависимостями, укажите их в своем файле Makefile. Зависимости - это то, что нужно для установщика. Программа должна упасть с ошибкой «не найти модуль», а не пытаться установить что-то, что у пользователя может не иметь (системных) разрешений для установки. – Quentin

+0

Да, я понимаю, что не должен. Но сценарий предназначен для моего личного использования. Я пытаюсь установить некоторое программное обеспечение с помощью этого скрипта. Я попробую прочитать о Makefiles. – Andrew

ответ

1

Ваш вопрос отсутствует по специфике. Способы установки Perl различаются для Windows, OSX и Linux. Поскольку вы ссылались на Linux в своем ответе, я думаю, вы находитесь на ОС Linux. Если ваш дистрибутив Ubuntu, here - это шаги

+0

Благодарим вас за ответ. Да, я использую разные дистрибутивы Linux, такие как Debian 5 или CentOS 6. Я хотел бы сделать то же самое, но из сценария, если это возможно. – Andrew

Смежные вопросы