无法在@INC中找到Session.pm

时间:2017-05-29 15:52:47

标签: perl locate

我在Perl上遇到Session问题。

我正在尝试解决此错误

perl -e "use Session;"
Can't locate Session.pm in @INC (you may need to install the Session module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .) at -e line 1.
BEGIN failed--compilation aborted at -e line 1. " 

我使用的是Debian 8 64x服务器。

我试过了:

root@division:/usr/lib/cgi-bin# apt-get install libapache-session-perl
Reading package lists... Done
Building dependency tree
Reading state information... Done
libapache-session-perl is already the newest version. 

perl -MCPAN -e shell
install Session

perl -MCPAN -e shell
cpan[1]> install Apache::Session
Reading '/root/.cpan/Metadata'
Database was generated on Mon, 29 May 2017 13:41:02 GMT

Apache::Session is up to date (1.93).

但我仍有同样的问题

一些信息:

# echo 'o conf' | perl -MCPAN -e shell | grep -P '^\s+(make|mbuild)'
    make               []
    make_arg           []
    make_install_arg   []
    make_install_make_command []
    makepl_arg         [INSTALLDIRS=site]
    mbuild_arg         []
    mbuild_install_arg []
    mbuild_install_build_command [./Build]
    mbuildpl_arg       [--installdirs site]

# set | grep '^PERL'

# perl -le'print for @INC'
/etc/perl
/usr/local/lib/x86_64-linux-gnu/perl/5.20.2
/usr/local/share/perl/5.20.2
/usr/lib/x86_64-linux-gnu/perl5/5.20
/usr/share/perl5
/usr/lib/x86_64-linux-gnu/perl/5.20
/usr/share/perl/5.20
/usr/local/lib/site_perl

1 个答案:

答案 0 :(得分:0)

您收到的错误是:

  

无法在@INC中找到Session.pm(您可能需要安装会话模块)

正如消息所述,此问题的解决方案是从CPAN安装Session模块。出于某种原因,您尝试通过从CPAN安装Apache::Session模块来解决此问题。 Session和Apache :: Session是两个完全不同的模块。您不能指望通过安装错误的模块来解决丢失的模块问题。

(虽然,我看到Session是一个围绕Apache :: Session的薄包装 - 所以你也需要安装Apache :: Session模块。)

我建议您安装Session以解决问题。

但是,我应该指出,会话模块有一个版本(版本0.01),该版本于2003年由一个自2005年以来没有向CPAN发布任何内容的人发布。因此,我建议有机会获得对该模块的任何支持都很小,我建议尽可能避免使用该模块。