Поиск

Что делать, если вам не разрешается устанавливать модули

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

В любом случае установить собственные экземпляры модулей Perl в собственных каталогах совсем несложно.

Во-первых, вам нужно построить модуль с помощью приведенной выше инструкции, но с небольшим исключением. Вы можете указать программе установки, что нужно поместить модули в особый каталог. Если вы используете программу РРМ для системы Microsoft Windows, то, прежде чем инсталлировать модуль, вы должны указать этой программе, что хотите выполнить установку в другой каталог. Это делается с помошью команды set следующим образом:

В результате модули будут транслироваться и инсталлироваться в каталог c:myperl. В системе UNIX, когда вы используете модуль CPAN, можете указать каталог установки с помощью параметра makepl arg следующим образом:

Или, если вы устанавливаете модули вручную с помошью утилиты make, можете указать каталог установки, использовав во время построения аргумент PREFIX в первой команде.

Каким бы методом вы ни воспользовались, модуль, который вы пытаетесь инсталлировать, будет помешен в каталог /home/clintp/perl/lib/. Затем, если нужно, можно переместить этот модуль в другой каталог.

Будьте внимательны и не перемещайте модули с одного компьютера на другой, если эти компьютеры принадлежат к разным типам. Скомпилированный модуль, как и сам Perl, будет работать только на компьютерах одного типа. Кроме того, постарайтесь не перемещать модули между различными версиями Perl; иногда это приводит к тому, что они перестают работать. В подобной ситуации вам придется переустановить модуль.
Использование модулей, установленных в необычных местах

Чтобы использовать модули, установленные в каталоге, отличном от стандартного, нужно применить директиву use lib. Например, если вы устанавливаете модуль Date::Manip в каталог /home/clintp/perl/lib/ с помощью инструкций из предыдущего раздела, то у вас получится древовидная файловая структура, аналогичная той, которая показана ниже на рисунке.

Чтобы воспользоваться модулем, в начале программы нужно ввести следующий код:

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