我得到这个错误:

找不到Foo。pm在@INC

有没有比下载、解压、制作等更简单的方法来安装它?


当前回答

如果您希望将新模块放入cpan shell未配置为使用的自定义位置,那么以下操作可能会很方便。

 #wget <URL to the module.tgz>
 ##unpack
 perl Build.PL
./Build destdir=$HOME install_base=$HOME
./Build destdir=$HOME install_base=$HOME install

其他回答

我注意到一些人建议在sudo下运行cpan。在过去,安装到系统目录中是必须的,但是CPAN shell的现代版本允许您配置它,只使用sudo进行安装。这要安全得多,因为这意味着测试不会以根用户身份运行。

如果您有一个旧的CPAN shell,只需安装新的CPAN(“install CPAN”),当您重新加载shell时,它将提示您配置这些新指令。

现在,当我在一个有旧CPAN的系统上时,我要做的第一件事是更新shell并将其设置为这样做,这样我就可以作为一个普通用户完成大部分CPAN工作。

另外,我强烈建议Windows用户研究草莓Perl。这是一个Perl版本,附带一个预配置的CPAN外壳和一个编译器。它还包括一些难以编译的Perl模块及其外部C库依赖项,特别是XML::Parser。这意味着当涉及到安装模块时,您可以像其他Perl用户一样做同样的事情,而且事情往往会“工作”得更频繁。

sudo perl -MCPAN -e安装Foo

对我来说最简单的方法是:

PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'install DateTime::TimeZone'

A)自动递归依赖检测/解析/安装

B)它是一个shell联机程序,适合安装脚本

很多时候,cpan install命令失败,出现类似这样的消息 “使测试已返回坏状态,不强制将不会安装”

在这种情况下,下面是安装模块的方法:

perl -MCPAN -e "CPAN::Shell->force(qw(install Foo::Bar));"

可以在Fedora上使用

# yum install foo

只要Fedora为该模块提供了一个现有的包。