perlmodinstall - 安装 CPAN 模块
您可以将模块视为可重用 Perl 代码的基本单元;有关详细信息,请参阅 perlmod。每当有人创建一段他们认为对世界有用的 Perl 代码时,他们都会在 https://www.cpan.org/modules/04pause.html 注册为 Perl 开发人员,以便他们可以将代码上传到 CPAN。CPAN 是 Comprehensive Perl Archive Network,可以在 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 系统,
您可以使用 Andreas Koenig 的 CPAN 模块(https://metacpan.org/release/CPAN)来自动执行从解压缩到安装的以下步骤。
A. 解压缩
使用 gzip -d yourmodule.tar.gz
解压缩文件
您可以从 ftp://prep.ai.mit.edu/pub/gnu/ 获取 gzip
或者,您可以将此步骤与下一步结合起来以节省磁盘空间
gzip -dc yourmodule.tar.gz | tar -xof -
B. 解包
使用 tar -xof yourmodule.tar
解包结果
C. 构建
进入新创建的目录并输入
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),
首先,从 shell 中输入ppm
,看看 ActiveState 的 PPM 存储库中是否有您的模块。如果有,您可以使用ppm
安装它,并且无需执行此处列出的任何其他步骤。您也可以尝试使用上面“Unix 或 Linux”部分中的 CPAN 指令;试试看。否则,您需要按照以下步骤操作。
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++。或者,您可以从 ActiveState 下载预编译的 PPM 包。 http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/
进入新创建的目录并输入
perl Makefile.PL
nmake test
D. INSTALL
仍在该目录中,输入
nmake install
如果您使用的是 OS/2,
从 Hobbes 获取 EMX 开发套件和 gzip/tar ( 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 与 Info-ZIP 的 zip/unzip 包不同。前者是一个简单的压缩工具;后者允许创建多文件存档。
B. 解包
如果您使用的是 VMStar
VMStar xf Your-Module.tar
或者,如果您喜欢 VMS 命令语法
tar/extract/verbose Your_Module.tar
C. 构建
确保您拥有 MMS(来自 Digital)或免费软件 MMK(可从 MadGoat 获得,网址为 http://www.madgoat.com)。然后输入以下命令以创建模块的 DESCRIP.MMS
perl Makefile.PL
现在您已准备好构建
mms test
如果您使用的是 MMK,请将上面的 mmk
替换为 mms
。
D. 安装
类型
mms install
如果您使用的是 MMK,请将上面的 mmk
替换为 mms
。
如果您在 MVS 上,
将 .tar.gz 文件作为二进制文件引入 HFS;不要从 ASCII 转换为 EBCDIC。
A. 解压缩
使用 gzip -d yourmodule.tar.gz
解压缩文件
您可以从 http://www.s390.ibm.com/products/oe/bpxqp1.html 获取 gzip
B. 解包
使用以下命令解压缩结果
pax -o to=IBM-1047,from=ISO8859-1 -r < yourmodule.tar
BUILD 和 INSTALL 步骤与 Unix 的步骤相同。一些模块会生成更适合使用 GNU make 的 Makefile,GNU make 可从 http://www.mks.com/s390/gnu/ 获取
请注意,并非所有模块都可以在所有平台上运行。有关可移植性问题的更多信息,请参见 perlport。阅读文档以查看该模块是否可以在您的系统上运行。基本上,有三种类型的模块无法在所有平台上“开箱即用”(可能存在一些重叠)
应该可以运行,但实际上不能运行。 这些模块需要修复;请考虑联系作者并可能编写补丁。
需要编译的模块,但目标平台没有现成的编译器。(这些模块通常包含 .xs 或 .c 文件。)您可能可以在 CPAN 或其他地方找到现有的二进制文件,或者您可能想尝试获取编译器并自行构建,然后发布二进制文件供其他用户使用。
针对特定平台的模块。(例如 Win32:: 模块。)如果该模块专门针对除您的平台以外的其他平台,那么您很可能无法使用它。
如果某个模块应该可以在您的平台上运行,但其行为与您的预期不符,或者您不确定某个模块是否可以在您的平台上运行,请查看 CPAN 测试人员。如果您想要的模块未在其中列出,您可以自行测试并告知 CPAN 测试人员,您可以加入 CPAN 测试人员,或者您可以请求对其进行测试。
https://cpantesters.org/
如果您对本页有任何建议的更改,请告诉我。请不要给我发邮件询问有关如何安装模块的帮助。模块太多,而 Orwant 太少,我无法回答或甚至确认您的所有问题。请联系模块作者,询问熟悉您操作系统上 Perl 的人,或者如果所有方法都失败,请在 https://rt.cpan.org/ 上提交工单。
Jon Orwant
在 Chris Nandor 的宝贵帮助下,以及 Brandon Allbery、Charles Bailey、Graham Barr、Dominic Dunlop、Jarkko Hietaniemi、Ben Holzman、Tom Horsley、Nick Ing-Simmons、Tuomas J. Lukka、Laszlo Molnar、Alan Olsen、Peter Prymmer、Gurusamy Sarathy、Christoph Spalinger、Dan Sugalski、Larry Virden 和 Ilya Zakharevich 的宝贵帮助下。
第一个版本于 1998 年 7 月 22 日发布;最后一次修订于 2001 年 11 月 21 日。
版权所有 (C) 1998, 2002, 2003 Jon Orwant。保留所有权利。
本文件可以在与 Perl 本身相同的条款下分发。