[英]How can I install Perl module without using CPAN.pm?
可能吗?
如果您下载了源代码,并阅读了README
文件。 这可能会告诉你你应该做的
perl Makefile.PL
make
make test
make install
要么
perl Build.PL
./Build
./Build test
./Build install
如果下载源码,一般会有一个Makefile.PL。 你运行“perl Makefile.PL; make; make test; make install”,它会为你构建和安装。
显然,如果您不使用 CPAN.pm,您将不得不自己处理依赖项。
另外,如果你不能使用 CPAN.pm 的原因是你没有安装到 /usr/lib/perl 的权限,你可以强制 CPAN.pm 在本地安装,但我忘记了如何安装。
如果您在 Linux 盒子上,通常可以使用内置的 package 管理器获得很大一部分包。 例如,在 Ubuntu 系统上,如果您想安装 PostgreSQL Perl 模块,您只需执行以下操作:
sudo apt-get install libpg-perl
您可以在此处查看 Ubuntu 的模块列表: http://packages.ubuntu.com/hardy/perl/
我发现我经常可以自己猜出这些名字。 不确定这是否有帮助,但对我自己来说,我经常发现它比 CPAN 更容易使用,因为它在解决依赖关系方面做得更好。
参见此处: How to install perl modules using CPAN without root
我刚刚在没有 root 访问权限的服务器上设置了它,CPAN 会自动完成所有操作。
但是如果你真的想安装一个没有 CPAN 的模块并且你没有 root 权限(假设这是因为你不想使用 CPAN),你可以按如下方式进行
perl Makefile.PL PREFIX=$HOME
make
make install
您将不得不自己寻找依赖项,因此最好使用 CPAN。
如果问题是没有 root 访问权限,我建议查看local::lib
以及此网页以了解 CPAN.pm 和非 root 安装。
但是要回答问题,CPAN 或 CPANPLUS 是有帮助的,但不是必需的。 你总是可以像 Leon 所说的那样用老式的方法来做——尽管通常情况下,不这样做会更容易。
如果 .pm 文件是纯 Perl 并且不需要编译,您可以将它放在应用程序的 lib 文件夹中并正常使用它。
如果您使用的是 Red Hat(Fedora、CentOS),则应尽可能为 Perl 依赖项使用 RPM。 Perl 包几乎总是命名为 perl-Module-Name,例如 perl-DBI、perl-Spreadsheet-WriteExcel 等。
在 Ubuntu 上,命名方案是 libmodule-name-perl。
我们可以通过 ubuntu 中的终端安装所有 perl 模块。如果您使用的是 ubuntu 服务器,则执行以下命令,'sudo apt-get install "perl_module"' 您想要的模块只需在“ perl_module" 意味着如果你想安装 Apache2::Cookie 它将在 "libapreq2" 中,所以你必须像 "sudo apt-get install libapreq2"
如果你问这个是因为你在使用 CPAN 时遇到问题......你可能已经用完了 RAM,这就是你不能使用 CPAN 的原因。
也许您没有交换文件。 试试这个:
$ sudo su
# dd if=/dev/zero of=/swap bs=1M count=1k # create a 1GB file
# mkswap /swap
# swapon /swap
否则......停止一些服务。
$ sudo service mysql stop
$ sudo service nginx stop
...然后再试一次
$ cpan install CPAN
$ cpan install MIME::Lite::TT::HTML
我和其他人一样强烈建议使用 CPAN.pm。 使用起来轻而易举,并且可以自动解决与您需要的模块相关的任何依赖关系。
另一方面,我建议您阅读perldoc上的perlmodinstall文档,因为它也提供了其他操作系统的详细信息。
问候,
杰夫
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.