标签: cpan

CPAN 和 Perl 模块的静默和脚本安装?

我需要在 Scientific Linux (RHEL) 安装脚本中自动安装 CPAN 和一些 Perl 模块。不幸的是,就我所见,我想要的特定模块(至少其中一个)无法作为 RPM:s 找到。

所以我需要安装 CPAN,自动配置它(或使用配置文件),然后自动安装所需的模块(包括依赖项)。

这似乎不是一个非常不寻常的要求,但我还没有看到任何关于此的非常好的文档。问题是,每当第一次启动 CPAN 时,都会运行交互式配置。这可以以某种方式跳过吗?以及如何直接从命令行启动模块安装?

bash perl cpan shell-scripting

11
推荐指数
4
解决办法
1万
查看次数

CPAN 无法安装 DateTime 模块

我试图通过运行“cpan”并在提示符下键入“install DateTime”来安装 Perl DateTime 模块。经过大量处理和打印后,我收到了这条消息:

在 (eval 907) 第 3 行的 require 中编译失败。
# 看起来你的测试在输出任何东西之前就死了。
t/41cldr_format.........可疑                                              
        测试返回状态 255 (wstat 65280, 0xff00)
死了。失败的测试 1-101
        101/101 测试失败,0.00% 正常
t/42duration_class ......好的                                                   
t/pod-coverage..........已跳过
        全部跳过:测试 POD 覆盖率需要 Test::Pod::Coverage 1.08
t/pod…………跳过
        全部跳过:Test::Pod 1.14 需要测试 POD
失败的测试统计 Wstat 总失败 失败 失败列表
-------------------------------------------------- -----------------------------
t/07compare.t 255 65280 26 18 69.23% 18-26
t/17set_return.t 255 65280 7 12 171.43% 2-7
t/19leap_second.t 255 65280 172 302 175.58% 22-172
t/23storable.t 255 65280 21 42 200.00% 1-21
t/24from_object.t 255 65280 10 8 80.00% …

time perl cpan

6
推荐指数
1
解决办法
2万
查看次数

删除使用 cpanm 安装的 perl 模块

我是 Perl 初学者。我想使用 Log::Log4perl 模块,因为我熟悉它在 Java 中的工作方式。我使用 cpanm 脚本下载模块,但我在没有“sudo”的情况下运行它。然后它将此模块安装到我的目录 /home/amer/perl5。之后,我将它安装为 sudoer,但我想删除我家目录中的安装以避免将来发生任何冲突。我怎样才能做到这一点? 这是我的 cmdline 执行堆栈。

感谢致敬!

perl cpan

6
推荐指数
2
解决办法
1万
查看次数

仅通过 RPM 复制 Perl 模块是一种好习惯吗?

我们 RHEL6 服务器上的一些应用程序依赖于存在的一些 Perl 模块。我想在启动新主机时添加这些 Perl 模块作为 Kickstart 过程的一部分。与启动缓慢的 CPAN 相反,我决定将这些 Perl 模块打包在一个 RPM 中,该 RPM 只是将它们转储到适当的位置,并在 Perl 的 lib 目录中创建任何必要的目录。

这是不好的做法,因为我并没有真正“安装”它们,而只是复制它们?

rpm perl cpan

6
推荐指数
2
解决办法
780
查看次数

帮助使用 CPAN 安装 Perl 模块 XML::Parser

我正在尝试使用 CPAN 安装 XML::Parser perl 模块,但无法使其工作。以下是 CPAN 显示的输出,似乎表明问题在于 Expat。

\n\n

安装这个对我们来说至关重要,我不知道下一步该做什么。任何帮助将不胜感激!

\n\n
cpan[1]> install XML::Parser\nCPAN: Storable loaded ok (v2.21)\nGoing to read \'/root/.cpan/Metadata\'\n  Database was generated on Fri, 15 Apr 2011 16:29:49 GMT\nRunning install for module \'XML::Parser\'\nRunning make for C/CH/CHORNY/XML-Parser-2.40.tar.gz\nCPAN: Digest::SHA loaded ok (v5.48)\nCPAN: Compress::Zlib loaded ok (v2.03)\nChecksum for /root/.cpan/sources/authors/id/C/CH/CHORNY/XML-Parser-2.40.tar.gz ok\nScanning cache /root/.cpan/build for sizes\n............................................................................DONE\nCPAN: Archive::Tar loaded ok (v1.68)\nXML-Parser-2.40\nXML-Parser-2.40/Changes\nXML-Parser-2.40/Makefile.PL\nXML-Parser-2.40/MANIFEST\nXML-Parser-2.40/META.yml\nXML-Parser-2.40/Parser.pm\nXML-Parser-2.40/README\nXML-Parser-2.40/Expat\nXML-Parser-2.40/Expat/encoding.h\nXML-Parser-2.40/Expat/Expat.pm\nXML-Parser-2.40/Expat/Expat.xs\nXML-Parser-2.40/Expat/Makefile.PL\nXML-Parser-2.40/Expat/typemap\nXML-Parser-2.40/inc\nXML-Parser-2.40/inc/Devel\nXML-Parser-2.40/inc/Devel/CheckLib.pm\nXML-Parser-2.40/Parser\nXML-Parser-2.40/Parser/LWPExternEnt.pl\nXML-Parser-2.40/Parser/Encodings\nXML-Parser-2.40/Parser/Encodings/big5.enc\nXML-Parser-2.40/Parser/Encodings/euc-kr.enc\nXML-Parser-2.40/Parser/Encodings/ibm866.enc\nXML-Parser-2.40/Parser/Encodings/iso-8859-2.enc\nXML-Parser-2.40/Parser/Encodings/iso-8859-3.enc\nXML-Parser-2.40/Parser/Encodings/iso-8859-4.enc\nXML-Parser-2.40/Parser/Encodings/iso-8859-5.enc\nXML-Parser-2.40/Parser/Encodings/iso-8859-7.enc\nXML-Parser-2.40/Parser/Encodings/iso-8859-8.enc\nXML-Parser-2.40/Parser/Encodings/iso-8859-9.enc\nXML-Parser-2.40/Parser/Encodings/Japanese_Encodings.msg\nXML-Parser-2.40/Parser/Encodings/koi8-r.enc\nXML-Parser-2.40/Parser/Encodings/README\nXML-Parser-2.40/Parser/Encodings/windows-1250.enc\nXML-Parser-2.40/Parser/Encodings/windows-1251.enc\nXML-Parser-2.40/Parser/Encodings/windows-1252.enc\nXML-Parser-2.40/Parser/Encodings/windows-1255.enc\nXML-Parser-2.40/Parser/Encodings/x-euc-jp-jisx0221.enc\nXML-Parser-2.40/Parser/Encodings/x-euc-jp-unicode.enc\nXML-Parser-2.40/Parser/Encodings/x-sjis-cp932.enc\nXML-Parser-2.40/Parser/Encodings/x-sjis-jdk117.enc\nXML-Parser-2.40/Parser/Encodings/x-sjis-jisx0221.enc\nXML-Parser-2.40/Parser/Encodings/x-sjis-unicode.enc\nXML-Parser-2.40/Parser/Style\nXML-Parser-2.40/Parser/Style/Debug.pm\nXML-Parser-2.40/Parser/Style/Objects.pm\nXML-Parser-2.40/Parser/Style/Stream.pm\nXML-Parser-2.40/Parser/Style/Subs.pm\nXML-Parser-2.40/Parser/Style/Tree.pm\nXML-Parser-2.40/samples\nXML-Parser-2.40/samples/canonical\nXML-Parser-2.40/samples/canontst.xml\nXML-Parser-2.40/samples/ctest.dtd\nXML-Parser-2.40/samples/REC-xml-19980210.xml\nXML-Parser-2.40/samples/xmlcomments\nXML-Parser-2.40/samples/xmlfilter\nXML-Parser-2.40/samples/xmlstats\nXML-Parser-2.40/t\nXML-Parser-2.40/t/astress.t\nXML-Parser-2.40/t/cdata.t\nXML-Parser-2.40/t/decl.t\nXML-Parser-2.40/t/defaulted.t\nXML-Parser-2.40/t/encoding.t\nXML-Parser-2.40/t/ext.ent\nXML-Parser-2.40/t/ext2.ent\nXML-Parser-2.40/t/external_ent.t\nXML-Parser-2.40/t/file.t\nXML-Parser-2.40/t/finish.t\nXML-Parser-2.40/t/foo.dtd\nXML-Parser-2.40/t/namespaces.t\nXML-Parser-2.40/t/parament.t\nXML-Parser-2.40/t/partial.t\nXML-Parser-2.40/t/skip.t\nXML-Parser-2.40/t/stream.t\n/bin/tar: Read 3072 bytes from -\nXML-Parser-2.40/t/styles.t\nCPAN: File::Temp loaded ok (v0.22)\nCPAN: Parse::CPAN::Meta loaded ok (v1.40)\n\n  CPAN.pm: Going to build C/CH/CHORNY/XML-Parser-2.40.tar.gz\n\n\nExpat must be installed prior …
Run Code Online (Sandbox Code Playgroud)

perl cpan

5
推荐指数
1
解决办法
7597
查看次数

如何构建和配置本地 CPAN 模块存储库?

我是一名系统管理员,管理着三台气隙式(零互联网访问)超级计算机。我们需要在其中一台超级计算机上运行 Bugzilla。我已经建立了自己的本地 yum 存储库,但现在我需要启动并运行 Bugzilla,这需要本地 CPAN。我按照我在此处找到的说明在笔记本电脑上构建了本地 CPAN:

http://www.stonehenge.com/merlyn/LinuxMag/col42.html

并将 CPAN 同步到超级计算机的主目录。当我回到 Bugzill 目录运行安装时,install-module.pl 找不到本地 CPAN 目录。我如何配置我的超级计算机的 perl 以自动知道它的本地 CPAN 所在的位置,以便我可以完成我的 Bugzilla 任务?

bugzilla perl cpan

5
推荐指数
1
解决办法
2598
查看次数

安装 Perl Crypt::OpenSSL::RSA 模块时出错

我花了几个小时但无法安装 CPAN Crypt::OpenSSL::RSA 模块。Postfix 的 dkimproxy 附加组件需要它。

我所做的是在shell中运行以下命令:

$ perl -MCPAN -e 'install Crypt::OpenSSL::RSA'
Run Code Online (Sandbox Code Playgroud)

当我运行这个命令时,会显示几行,最后显示:

Checking if your kit is complete...
Looks good
Warning: prerequisite Crypt::OpenSSL::Random 0 not found.
Writing Makefile for Crypt::OpenSSL::RSA
---- Unsatisfied dependencies detected during [I/IR/IROBERTS/Crypt-OpenSSL-RSA-0.26.tar.gz] -----
    Crypt::OpenSSL::Random
Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes] 
Run Code Online (Sandbox Code Playgroud)

然后我按回车键(是),然后生成了几十行错误。最后我得到了这个:

...
...
RSA.xs:579: warning: implicit declaration of function ‘RSA_sign’
RSA.xs:579: error: ‘rsaData’ has no member named ‘hashMode’
RSA.xs:579: error: ‘rsaData’ …
Run Code Online (Sandbox Code Playgroud)

perl cpan

4
推荐指数
2
解决办法
1万
查看次数

我可以安全地删除 .cpanm/work 目录吗?

我已经使用 cpanm 在我的系统上安装 cpan perl 模块,但是 .cpanm/work 目录是 100 兆字节,我想删除它。

我可以删除这个目录而不会对我的 cpanm 安装产生不利影响吗?

perl cpan

4
推荐指数
1
解决办法
2461
查看次数

如何进行无人值守/静默 CPAN 安装/设置

有没有一种简单的、向后兼容的方法来使用 CPAN 静默安装 Perl 模块?

PERL_MM_USE_DEFAULT不适用于未检测到默认大陆的旧版本;CPAN 将在

对不起!由于您没有任何现有选择,因此您必须进行地理选择。

CPAN::FirstTime

可以使用 Perl 片段来加载 CPAN 并对其进行配置,但这既冗长又丑陋。

unattended silent perl cpan

3
推荐指数
1
解决办法
1299
查看次数

如何检查 perl 和 CPAN 文件的位置?

我经常不得不为我的雇主设置新服务器,以达到他的确切目的,因此它们都必须以完全相同的方式设置。所以我在 PHP 中创建了一个脚本,我从自己的机器上运行该脚本以自动发送所有相关文件、编译所有内容、运行更新以及其他所有内容。

但是,出于某种原因,这些全新的服务器带有 perl,这很好,但是它们在不同的位置安装了 perl。这让我在Config.pm不进入并手动查找位置的情况下复制CPAN很痛苦。

是否有一些我不知道的命令会追捕准确的位置?

如果有帮助,通常服务器是 CentOS 5

perl cpan

2
推荐指数
2
解决办法
1万
查看次数

WWW::Mechanize Perl 模块不会安装在服务器上

我想弄清楚为什么 Perl 模块不会安装在我的服务器上。

cpanm WWW::Mechanize
Run Code Online (Sandbox Code Playgroud)

它处理了很长时间的东西,然后最终死亡:

root@admin:~# cpanm WWW::Mechanize
--> Working on WWW::Mechanize
Fetching http://www.cpan.org/authors/id/O/OA/OALDERS/WWW-Mechanize-1.90.tar.gz ... OK
Configuring WWW-Mechanize-1.90 ... OK
Building and testing WWW-Mechanize-1.90 ... FAIL
! Installing WWW::Mechanize failed. See /root/.cpanm/work/1543994046.20570/build.log for details. Retry with --force to force install it.
Run Code Online (Sandbox Code Playgroud)

日志文件中有这样的东西:

t/00-report-prereqs.t .................... ok
t/add_header.t ........................... ok
t/aliases.t .............................. ok
t/area_link.t ............................ ok
t/autocheck.t ............................ ok
t/bad-request.t .......................... ok
t/clone.t ................................ ok
t/content.t .............................. ok
# Test server http://127.0.0.1:31546 as PID 20661
t/cookies.t .............................. ok
t/credentials-api.t ...................... ok …
Run Code Online (Sandbox Code Playgroud)

linux debian perl cpan ubuntu-16.04

2
推荐指数
1
解决办法
529
查看次数

GnuPG::Interface 无法在 CentOS 7 上安装

我正在尝试安装 CentOS 7 服务器来运行请求跟踪器。通过运行make testdeps我可以看到所有丢失的包,make fixdeps并且应该安装这些包。有一个我无法安装的软件包 ( GnuPG::Interface)。这个包被 Perl 使用。

我已经尝试通过cpan install GnuPG::Interfaceand安装它cpan install GnuPG::Interface --force,但是每次我收到一条错误消息时说:

Can't locate Fatal.pm in @INC (@INC contains: ./t /root/.cpan/build/GnuPG-Interface-0.51-CdOOe3/inc
/root/.cpan/build/GnuPG-Interface-0.51-CdOOe3/blib/lib /root/.cpan/build/GnuPG-Interface-0.51-    
CdOOe3/blib/arch /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl 
/usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /root/.cpan/build/GnuPG
-Interface-0.51-CdOOe3/blib/lib/GnuPG/Interface.pm line 23.
Run Code Online (Sandbox Code Playgroud)

我试过运行yum install perl-Test-Fatal,但即使在安装过程之后错误不断出现。如果我尝试使用cpan.

centos perl cpan request-tracker

1
推荐指数
1
解决办法
4845
查看次数