首页 > 解决方案 > 在 CentOS 7 上安装 Perl 模块的问题

问题描述

我一直在尝试在 CentOS 7 上安装一些 Perl 模块,但遇到了一堆问题。我尝试使用 yum、cpan 和 cpanm(每当我尝试不同的方法时从头开始),它们似乎根据安装日志正确构建,但是当我使用“use Module_Name;”运行我的脚本时 它返回具有过时版本的依赖项的问题。其中一个模块是 Date::Locale。另一种是 URI::Encode。有没有正确的方法在 CentOS 7 上安装 Perl 模块,无需调整或手动干预?

ikegami 在以下评论中要求的输出:

/usr/bin/perl
/root/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi
/root/perl5/lib/perl5/5.16.3
/root/perl5/lib/perl5/x86_64-linux-thread-multi
/root/perl5/lib/perl5
/usr/local/lib64/perl5
/usr/local/share/perl5
/usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl
/usr/lib64/perl5
/usr/share/perl5

PERL5LIB: /root/perl5/lib/perl5
PERL_LOCAL_LIB_ROOT: /root/perl5
PERL_MB_OPT: --install_base "/root/perl5"
PERL_MM_OPT: INSTALL_BASE=/root/perl5
cpan is /root/perl5/bin/cpan
#!/usr/bin/perl
    make               [/usr/bin/make]
    make_arg           []
    make_install_arg   []
    make_install_make_command [/usr/bin/make]
    makepl_arg         []
    mbuild_arg         []
    mbuild_install_arg []
    mbuild_install_build_command [./Build]
    mbuildpl_arg       []
Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
  Database was generated on Fri, 12 Apr 2019 17:29:03 GMT
Fetching with LWP:
http://CPAN.mirror.rafal.ca/authors/01mailrc.txt.gz
Reading '/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://CPAN.mirror.rafal.ca/modules/02packages.details.txt.gz
Reading '/root/.cpan/sources/modules/02packages.details.txt.gz'
  Database was generated on Tue, 16 Apr 2019 03:17:02 GMT
............................................................................DONE
Fetching with LWP:
http://CPAN.mirror.rafal.ca/modules/03modlist.data.gz
Reading '/root/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /root/.cpan/Metadata
URI::Encode is up to date (1.1.1).

标签: perl

解决方案


在 Centos7 上通过 CPAN 安装模块时,模块的路径通常use lib '/root/perl5/lib/perl5'由 CPAN 的自动配置设置。

查找您通过 CPAN ( find / -name module_name) 安装的模块之一并查看其路径。如果它在默认目录之外,您可以在脚本中添加此路径。


推荐阅读