我得到这个错误:
找不到Foo。pm在@INC
有没有比下载、解压、制作等更简单的方法来安装它?
我得到这个错误:
找不到Foo。pm在@INC
有没有比下载、解压、制作等更简单的方法来安装它?
当前回答
安全解决方案
许多回答都提到了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的错误报告。
其他回答
我知道的两种方法:
使用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的命令列表
有几个人提到了cpan实用程序,但它不仅仅是启动一个shell。只要给它你想安装的模块,让它做它的工作。
$prompt> cpan Foo::Bar
如果你不给它任何参数,它就会启动CPAN。点壳。这可以在Unix、Mac上工作,在Windows上应该也可以(特别是Strawberry Perl)。
cpan工具还可以做其他一些事情。下面是当前特性的总结(可能比CPAN附带的特性更新)。PM和perl):
-a
Creates the CPAN.pm autobundle with CPAN::Shell->autobundle.
-A module [ module ... ]
Shows the primary maintainers for the specified modules
-C module [ module ... ]
Show the Changes files for the specified modules
-D module [ module ... ]
Show the module details. This prints one line for each out-of-date module (meaning,
modules locally installed but have newer versions on CPAN). Each line has three columns:
module name, local version, and CPAN version.
-L author [ author ... ]
List the modules by the specified authors.
-h
Prints a help message.
-O
Show the out-of-date modules.
-r
Recompiles dynamically loaded modules with CPAN::Shell->recompile.
-v
Print the script version and CPAN.pm version.
尝试应用::cpanminus:
# cpanm Chocolate::Belgian
它非常适合安装东西。它不提供CPAN或CPANPLUS的任何复杂功能,因此只要知道要安装哪个模块,就很容易使用。如果你还没有cpanminus,只需输入:
# cpan App::cpanminus
安装它。
也可以完全不使用cpan来安装它。基本的引导程序是,
curl -L http://cpanmin.us | perl - --sudo App::cpanminus
欲了解更多信息,请访问App::cpanminus页面,并查看安装部分。
对CPAN有很多建议。pm,这很好,但如果您使用的是Perl 5.10,那么您还可以访问CPANPLUS。pm,类似于CPAN。总理,但更好。
当然,对于仍在使用旧版本Perl的用户,可以在CPAN上找到它。为什么不试试呢:
$ cpan CPANPLUS
很多时候,cpan install命令失败,出现类似这样的消息 “使测试已返回坏状态,不强制将不会安装”
在这种情况下,下面是安装模块的方法:
perl -MCPAN -e "CPAN::Shell->force(qw(install Foo::Bar));"