perlmodinstall
СОДЕРЖАНИЕ
ИМЯ
perlmodinstall - Установка модулей CPAN
ОПИСАНИЕ
Модуль можно рассматривать как фундаментальную единицу многократно используемого кода Perl; см. perlmod для получения подробной информации. Каждый раз, когда кто-то создаёт фрагмент кода Perl, который, по его мнению, будет полезен для мира, он регистрируется как разработчик Perl на https://www.cpan.org/modules/04pause.html, чтобы затем загрузить свой код в CPAN. CPAN — это всеобъемлющая сеть архивов Perl, доступная по адресу https://www.cpan.org/ и поисковая по адресу https://metacpan.org/ .
Это документация для тех, кто хочет загрузить модули CPAN и установить их на свой компьютер.
ПРЕДИСЛОВИЕ
Сначала, вы уверены, что этот модуль уже не на вашей системе? Попробуйте perl -MFoo -e 1. (Замените "Foo" на имя модуля; например, perl -MCGI::Carp -e 1.)
Если сообщение об ошибке не отображается, модуль у вас есть. (Если сообщение об ошибке отображается, всё ещё возможно, что модуль у вас есть, но он не в вашем пути, который можно отобразить с помощью perl -e "print qq(@INC)".) В дальнейшем мы будем предполагать, что у вас действительно нет установленного модуля, но вы его нашли в CPAN.
Итак, у вас есть файл с расширением .tar.gz (или, реже, .zip). Вы знаете, что внутри есть вкусный модуль. Теперь вам нужно выполнить четыре шага:
- РАСПАКОВКА файла
- ИЗВЛЕЧЕНИЕ файла в каталог
- КОМПЛЕКТАЦИЯ модуля (иногда не требуется)
- УСТАНОВКА модуля.
Вот как выполнить каждый шаг для каждой операционной системы. Это не заменяет чтение файлов README и INSTALL, которые могут прилагаться к вашему модулю!
Также обратите внимание, что эти инструкции предназначены для установки модуля в хранилище Perl-модулей вашей системы, но вы можете установить модули в любой каталог, который пожелаете. Например, там, где я говорю perl Makefile.PL, вы можете заменить perl Makefile.PL PREFIX=/my/perl_directory для установки модулей в /my/perl_directory. Затем вы можете использовать модули из ваших Perl-программ с use lib "/my/perl_directory/lib/site_perl"; или иногда просто с use "/my/perl_directory";. Если на вашей системе требуется доступ суперпользователя/root для установки модулей в каталоги, которые вы видите при вводе perl -e "print qq(@INC)", вы захотите установить их в локальный каталог (например, в домашний каталог) и использовать этот подход.
-
Если вы работаете на системе Unix или подобной Unix,
Вы можете использовать модуль CPAN Андрэаса Кёнига ( https://metacpan.org/release/CPAN ) для автоматизации следующих шагов, от РАСПАКОВКИ до УСТАНОВКИ.
A. РАСПАКОВКА
Распакуйте файл с помощью
gzip -d yourmodule.tar.gzВы можете получить gzip с ftp://prep.ai.mit.edu/pub/gnu/
Или вы можете объединить этот шаг с последующим, чтобы сэкономить место на диске:
gzip -dc yourmodule.tar.gz | tar -xof -B. ИЗВЛЕЧЕНИЕ
Извлеките результат с помощью
tar -xof yourmodule.tarC. КОМПЛЕКТАЦИЯ
Перейдите в только что созданный каталог и введите:
perl Makefile.PL make testили
perl Makefile.PL PREFIX=/my/perl_directoryдля установки локально. (Помните, что в этом случае вам придётся поместить
use lib "/my/perl_directory";в начале программы, которая должна использовать этот модуль.)D. УСТАНОВКА
Находясь в этом каталоге, введите:
make installУбедитесь, что у вас есть соответствующие разрешения для установки модуля в каталог библиотеки Perl 5. Часто вам потребуется доступ root.
Это всё, что вам нужно сделать в системах Unix с динамической компоновкой. Большинство систем Unix используют динамическую компоновку. Если ваша система не использует её, или если по другой причине у вас статически скомпилированный Perl, и модуль требует компиляции, вам потребуется создать новую бинарную программу Perl, включающую модуль. Снова, вам, вероятно, понадобится доступ root.
-
Если вы работаете с ActivePerl (Win95/98/2K/NT/XP, Linux, Solaris),
Сначала введите
ppmиз оболочки и посмотрите, есть ли ваш модуль в репозитории PPM ActiveState. Если да, вы можете установить его с помощьюppmи вам не придётся заниматься остальными шагами. Вы также можете попробовать использовать инструкции CPAN из раздела «Unix или Linux» выше. В противном случае вам придётся следовать шагам ниже.A. DECOMPRESSДля распаковки и извлечения модулей можно использовать открытый исходный код 7-zip ( https://www.7-zip.org/ ) или утилиту Winzip ( https://www.winzip.com ).
B. UNPACKЕсли вы использовали WinZip, это уже сделано за вас.
C. BUILDВам потребуется
nmakeилиgmake.Требуется ли компиляция модуля (т. е. есть ли у него файлы с расширениями .xs, .c, .h, .y, .cc, .cxx или .C)? Если да, то жизнь теперь станет сложнее, так как вам придётся скомпилировать модуль самостоятельно (нелёгкая задача в Windows). Вам потребуется компилятор, такой как Visual C++. Альтернативно, вы можете загрузить готовый пакет PPM от ActiveState. http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/
Перейдите в только что созданный каталог и введите:
perl Makefile.PL nmake test D. INSTALLНаходясь в этом каталоге, введите:
nmake install -
Если вы работаете на порте DJGPP DOS,
A. DECOMPRESSdjtarx ( ftp://ftp.delorie.com/pub/djgpp/current/v2/ ) одновременно распакует и извлечёт.
B. UNPACKСм. выше.
C. BUILDПерейдите в только что созданный каталог и введите:
perl Makefile.PL make testВам понадобятся пакеты, упомянутые в README.dos в дистрибутиве Perl.
D. INSTALLНаходясь в этом каталоге, введите:
make installВам понадобятся пакеты, упомянутые в README.dos в дистрибутиве Perl.
-
Если вы работаете на OS/2,
Получите пакет EMX Development Suite и gzip/tar от Hobbes ( http://hobbes.nmsu.edu/h-browse.php?dir=/pub/os2/dev/emx/v0.9d ), а затем следуйте инструкциям для Unix.
-
Если вы работаете на VMS,
При загрузке из CPAN сохраните файл с расширением
.tgzвместо.tar.gz. Все остальные точки в имени файла должны быть заменены на нижние подчёркивания. Например,Your-Module-1.33.tar.gzдолжен быть загружен какYour-Module-1_33.tgz.A. РАСПАКОВКА
Введите
gzip -d Your-Module.tgzили, для сжатых модулей, введите
unzip Your-Module.zipИсполняемые файлы для gzip, zip и VMStar:
http://www.hp.com/go/openvms/freeware/и их исходный код:
http://www.fsf.org/order/ftp.htmlОбратите внимание, что GNU gzip/gunzip не совпадает с пакетом zip/unzip Info-ZIP. Первый — это простая утилита сжатия; второй позволяет создавать архивы из нескольких файлов.
B. ИЗВЛЕЧЕНИЕ
Если вы используете VMStar:
VMStar xf Your-Module.tarИли, если вам нравится синтаксис команд VMS:
tar/extract/verbose Your_Module.tarC. КОМПЛЕКТАЦИЯ
Убедитесь, что у вас есть MMS (от Digital) или бесплатный MMK (доступен от MadGoat по адресу http://www.madgoat.com). Затем введите эту команду для создания DESCRIP.MMS для модуля:
perl Makefile.PLТеперь вы готовы к сборке:
mms testЗамените
mmkнаmmsвыше, если вы используете MMK.D. УСТАНОВКА
Введите
mms installЗамените
mmkнаmmsвыше, если вы используете MMK. -
Если вы работаете на MVS,
Введите файл .tar.gz в HFS как двоичный файл; не преобразуйте из ASCII в EBCDIC.
A. РАСПАКОВКА
Распакуйте файл с помощью
gzip -d yourmodule.tar.gzВы можете получить gzip с http://www.s390.ibm.com/products/oe/bpxqp1.html
B. ИЗВЛЕЧЕНИЕ
Распакуйте результат с помощью
pax -o to=IBM-1047,from=ISO8859-1 -r < yourmodule.tarШаги КОМПЛЕКТАЦИИ и УСТАНОВКИ идентичны шагам для Unix. Некоторые модули генерируют Makefiles, которые лучше работают с GNU make, доступным с http://www.mks.com/s390/gnu/
ПЕРЕНОСИМОСТЬ
Обратите внимание, что не все модули будут работать на всех платформах. См. perlport для получения дополнительной информации о проблемах переноса. Прочитайте документацию, чтобы узнать, будет ли модуль работать на вашей системе. В основном есть три категории модулей, которые не будут работать «из коробки» на всех платформах (с некоторым перекрытием):
-
Те, которые должны, но не работают. Эти модули необходимо исправить; рассмотрите возможность обращения к автору и написания патча.
-
Те, которые необходимо скомпилировать, где на целевой платформе нет компиляторов. (Эти модули содержат файлы .xs или .c, как правило.) Возможно, вы сможете найти готовые двоичные файлы в CPAN или где-то ещё, или вы можете попробовать получить компиляторы и скомпилировать его самостоятельно, а затем выпустить двоичные файлы для других несчастных.
-
Те, которые предназначены для конкретной платформы. (Например, модули Win32::). Если модуль предназначен для платформы, отличной от вашей, то, скорее всего, он вам не подходит.
Проверьте CPAN Testers, если модуль должен работать с вашей платформой, но он ведёт себя не так, как ожидается, или вы не уверены, будет ли модуль работать на вашей платформе. Если нужный модуль там не указан, вы можете проверить его сами и сообщить об этом CPAN Testers, присоединиться к CPAN Testers или запросить проверку.
https://cpantesters.org/ ПОМОЩЬ
Если у вас есть предложения по изменениям на этой странице, сообщите мне. Пожалуйста, не отправляйте мне письма с просьбой о помощи в установке ваших модулей. Модулей слишком много, а Orwant слишком мало, чтобы я мог отвечать на все ваши вопросы или даже их признавать. Обратитесь к автору модуля, спросите у кого-то, кто знаком с Perl на вашей операционной системе, или, в крайнем случае, создайте билет на https://rt.cpan.org/.
АВТОР
Jon Orwant
orwant@medita.mit.edu
с неоценимой помощью Кристофера Нандора и ценной помощью Брэндона Олберри, Чарльза Бейли, Грехема Барра, Доминика Данлопа, Яркко Хьетаниеми, Бена Хольцмана, Тома Хорсли, Ника Инг-Симмонса, Туомаса Лукка, Ласло Молнар, Алана Олсена, Питера Приммэра, Гурусами Сарати, Кристофа Спалингера, Дэна Сугальского, Ларри Вирдена и Ильи Захаревича.
Первая версия от 22 июля 1998 г.; последняя переработка от 21 ноября 2001 г.
АВТОРСКИЕ ПРАВА
Авторские права (C) 1998, 2002, 2003 Джона Орванта. Все права защищены.
Данный документ может быть распространен на тех же условиях, что и сам Perl.
© 1993–2021 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.34.0/perlmodinstall