如何在不使用CPAN.pm的情况下安装Perl模块?

时间:2009-03-05 18:52:45

标签: perl cpan

有可能吗?

10 个答案:

答案 0 :(得分:32)

如果您下载源代码,请阅读README文件。这可能会告诉你应该做

perl Makefile.PL
make
make test
make install

perl Build.PL
./Build
./Build test
./Build install

答案 1 :(得分:7)

如果您下载源代码,它通常会有一个Makefile.PL。你运行“perl Makefile.PL; make; make test; make install”,它将为你构建和安装。

显然,如果您没有使用CPAN.pm,那么您将不得不自己处理依赖项。

另外,如果你不能使用CPAN.pm的原因是你没有权限安装到/ usr / lib / perl,你可以强制CPAN.pm在本地安装,但我忘了怎么做。< / p>

答案 2 :(得分:3)

如果你在Linux机器上,通常可以使用内置的包管理器获得很大一部分包。例如,在Ubuntu系统上,如果你想安装PostgreSQL Perl模块,你可以这么做:

sudo apt-get install libpg-perl

您可以在此处查看Ubuntu的模块列表:http://packages.ubuntu.com/hardy/perl/

我发现自己经常会猜到这些名字。不确定这是否有帮助,但对于我自己而言,我经常发现这比CPAN更容易使用,因为它在解决依赖关系方面做得更好。

答案 3 :(得分:2)

见这里:How to install perl modules using CPAN without root

我刚刚在没有超级用户访问权限的服务器上进行设置,CPAN会自动完成所有操作。

但是如果你真的想要安装没有CPAN的模块并且你没有root(假设你不想使用CPAN),你可以按照以下方式进行:

perl Makefile.PL PREFIX=$HOME
make
make install

你必须自己寻找依赖关系,所以最好使用CPAN。

答案 4 :(得分:1)

如果问题不是root访问权限,我建议您查看local::lib以及this webpage以获取CPAN.pm和非root用户安装。

但是要回答问题,CPAN或CPANPLUS是有帮助的,但它们不是必需的。你可以像莱昂所说的那样以老套的方式做到这一点 - 尽管通常情况下更容易不这样做。

答案 5 :(得分:0)

如果.pm文件是纯Perl并且不需要编译,您可以将它放在应用程序的lib文件夹中并正常使用它。

答案 6 :(得分:0)

如果您使用的是Red Hat(Fedora,CentOS),则应尽可能将RPM用于Perl依赖项。 Perl包几乎总是命名为perl-Module-Name,例如perl-DBI,perl-Spreadsheet-WriteExcel等

在Ubuntu上,命名方案是libmodule-name-perl。

答案 7 :(得分:0)

我们可以在ubuntu中安装所有perl模块,甚至可以安装终端。如果您使用的是ubuntu服务器,请执行以下命令:       'sudo apt-get install“perl_module”' 您想要在“perl_module”中给出名称的模块意味着如果您要安装Apache2 :: Cookie,它将位于“libapreq2”中,因此您必须提供类似的, “sudo apt-get install libapreq2”

答案 8 :(得分:-1)

我和其他人一样强烈建议使用CPAN.pm.使用它是一件轻而易举的事,可以自动解决与您需要的模块相关的任何依赖项。

另一方面,我建议您在perlmodinstall阅读perldoc文档,因为它还提供了有关其他操作系统的详细信息。

此致

杰夫

答案 9 :(得分:-1)

如果你问这个是因为你遇到了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