perlmodinstall
СОДЕРЖАНИЕ
НАЗВАНИЕ
perlmodinstall - Установка модулей CPAN
ОПИСАНИЕ
Вы можете рассматривать модуль как основную единицу повторно используемого кода Perl; см. perlmod для получения подробностей. Всякий раз, когда кто-то создаёт фрагмент кода Perl, который, по его мнению, будет полезен миру, он регистрируется как разработчик Perl на http://www.cpan.org/modules/04pause.html, чтобы затем загрузить свой код на CPAN. CPAN — это всеобъемлющая сеть архивов Perl, к которой можно получить доступ по адресу http://www.cpan.org/, а поиск можно осуществлять на сайте http://search.cpan.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 от Andreas Koenig ( http://www.cpan.org/modules/by-module/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Вы можете использовать утилиту Winzip ( http://www.winzip.com ) для распаковки модулей.
B. UNPACKЕсли вы использовали WinZip, это уже было сделано за вас.
C. BUILDВам понадобится утилита
nmake, доступная по адресу http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/nmake15.exe, или dmake, доступная на CPAN. https://metacpan.org/release/dmakeТребует ли модуль компиляции (т.е. содержит ли он файлы с расширениями .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 и gzip/tar из Hobbes ( http://hobbes.nmsu.edu ) или Leo ( http://www.leo.org ), а затем следуйте инструкциям для Unix.
-
Если вы работаете на VMS,
При загрузке с CPAN сохраните файл с расширением
.tgzвместо.tar.gz. Все остальные точки в имени файла должны быть заменены на подчёркивания. Например,Your-Module-1.33.tar.gzдолжен быть загружен какYour-Module-1_33.tgz.A. РАСПАКОВКА
Введите
gzip -d Your-Module.tgzили, для архивов zip, введите
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 или запросить его тестирование.
http://testers.cpan.org/ ПРИМЕЧАНИЕ
Если у вас есть предложения по изменениям на этой странице, сообщите мне. Пожалуйста, не отправляйте мне письма с просьбой о помощи в установке ваших модулей. Модулей слишком много, а Orwants слишком мало, чтобы я мог ответить или даже признать все ваши вопросы. Обратитесь к автору модуля, спросите у кого-нибудь, кто разбирается в Perl на вашей операционной системе, или, в крайнем случае, откройте билет на http://rt.cpan.org/.
АВТОР
Jon Orwant
orwant@medita.mit.edu
с неоценимой помощью Криса Нандора и ценной помощью Брендона Оллбери, Чарльза Бейли, Грэма Барра, Доминика Данлопа, Ярко Хьетаниеми, Бена Хольцмана, Тома Хорсли, Ника Инг-Симмонса, Туомаса Дж. Лукка, Ласло Молнар, Алана Олсена, Питера Прюммера, Гурусами Сарати, Кристофа Спалингера, Дана Сугальского, Лэрри Вирдена и Ильи Захаревича.
Первая версия 22 июля 1998 года; последняя редакция 21 ноября 2001 года.
АВТОРСКИЕ ПРАВА
Авторские права (C) 1998, 2002, 2003 Джон Орвант. Все права защищены.
Данный документ может быть распространён на тех же условиях, что и сам Perl.
© 1993–2020 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.30.3/perlmodinstall