我得到这个错误:

找不到Foo。pm在@INC

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


当前回答

即使它应该工作:

cpan -i module_name

其他回答

即使它应该工作:

cpan -i module_name

安全解决方案

许多回答都提到了cpan实用程序的使用(它使用cpan .pm),而没有提到安全性。CPAN 2.27及更早版本默认配置urllist使用http URL(即http://www.cpan.org/),允许MITM攻击,因此是不安全的。这是用来下载checksum文件的,因此需要将其更改为安全URL(例如https://www.cpan.org/)。

因此,在运行cpan并接受默认配置之后,您需要修改生成的MyConfig。PM文件(输出全路径)如下所示。取代

'urllist' => [q[http://www.cpan.org/]],

by

'urllist' => [q[https://www.cpan.org/]],

注意:https是不够的;你还需要一个你可以信任的网站。所以,如果你想选择任意的镜子,要小心。

然后就可以按常规方式使用cpan了。

我在rt.cpan.org上关于不安全URL的错误报告。

在ubuntu上,大多数perl模块都已经打包好了,所以安装要比其他大多数需要编译的系统快得多。

例如,要在命令提示符下安装Foo::Bar,你通常只需要:

sudo apt-get install libfoo-bar-perl

遗憾的是,并非所有模块都遵循这种命名约定。

如果您希望将新模块放入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

如果你在Ubuntu上,你想安装预打包的perl模块(例如,geo::ipfree),试试这个:

    $ apt-cache search perl geo::ipfree
    libgeo-ipfree-perl - A look up country of ip address Perl module

    $ sudo apt-get install libgeo-ipfree-perl