我得到这个错误:
找不到Foo。pm在@INC
有没有比下载、解压、制作等更简单的方法来安装它?
我得到这个错误:
找不到Foo。pm在@INC
有没有比下载、解压、制作等更简单的方法来安装它?
当前回答
简单地在shell上执行cpan Foo::Bar就可以达到这个目的。
其他回答
简单地在shell上执行cpan Foo::Bar就可以达到这个目的。
对我来说最简单的方法是:
PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'install DateTime::TimeZone'
A)自动递归依赖检测/解析/安装
B)它是一个shell联机程序,适合安装脚本
安全解决方案
许多回答都提到了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的错误报告。
在带有Perl的ActiveState发行版的Windows上,使用ppm命令。
我知道的两种方法:
使用PPM:
在Windows (ActivePerl)中,我使用ppm
从命令行输入ppm。在ppm提示符下…
ppm> install foo
or
ppm> search foo
获取可用的foo模块列表。为所有命令键入help
使用cpan:
你也可以这样使用CPAN (*nix系统):
perl -MCPAN -e 'shell'
给你一个提示
cpan>
听到提示音…
cpan> install foo (again to install the foo module)
输入h以获得cpan的命令列表