2012-02-29 89 views
0

我使用的档案提取库中的Perl程序驻留在我的apache_tomcat/cgi-bin目录文件夹在Apache Tomcat服务器上安装Perl模块,

use Archive::Extract; 
    ### build an Archive::Extract object ### 
    my $ae=Archive::Extract->new(archive=>$zipFile); 
    $ae.extract; 

每当我运行程序,收到错误

灿在@INC中找不到Archive/Extract.pm(@INC包含: /usr/tik/perl/5.8.3/lib/5.8.3/sun4-solaris /usr/tik/perl/5.8.3/lib /5.8.3 /usr/tik/perl/5.8.3/lib/site_perl/5.8.3/sun4-solaris /usr/tik/perl/5.8.3/lib/site_pe RL/5.8.3 /usr/tik/perl/5.8.3/lib/site_perl。)在 /home/scf-17/myname/apache_1.3.26/cgi-bin/mvdb.pl线74

我一直在研究它,发现我缺少perl模块。 我尝试安装使用CPAN为根:

cpan -i Archive::Extract 

此外,我试图YUM但没有它的工作。

我连接到我的服务器使用putty ... 你可以建议其他方式安装perl模块丢失吗?

+0

CPAN如何失败?你尝试了什么yum命令?它是如何失败的? – 2012-02-29 09:17:14

+0

cpan:未找到命令 – typedef1 2012-02-29 09:43:40

回答

0

您需要确保您的apache tomcat服务器使用的perl/cpan与您在命令行上使用的perl/cpan相同。您还可以查看已安装的模块,其中由(终端)中键入:

perldoc -l Archive::Extract 

这shoudl告诉你是这样的:

/usr/local/share/perl/5.10.1/Archive/Extract.pm 

如果这个路径“的/ usr/local/share下/ perl/5.10.1'(没有模块名称)在你的@INC中不存在,那么你需要将它添加到你的脚本中,在'使用Archive :: Extract'行之前添加类似的内容:

use lib '/usr/local/share/perl/5.10.1'; 
use Archive::Extract; 

这应该做的招。

+0

最新安装的perl版本为/5.8.3/ – typedef1 2012-02-29 11:26:13

2

调用Tomcat的Perl的cpan,而不是系统cpan。

/usr/tik/perl/5.8.3/bin/cpan Archive::Extract 
+0

 CPAN: Storable loaded ok (v2.15) CPAN: LWP::UserAgent loaded ok (v2.031) CPAN: Time::HiRes loaded ok (v1.59) mkdir /tik/root/.cpan: Permission denied at /usr/tik/perl/5.8.3/lib/5.8.3/CPAN/FTP.pm line 501 
typedef1 2012-02-29 11:15:06

+0

更改为具有写入权限的用户。 – daxim 2012-02-29 11:25:52

+0

邮寄的支持家伙..希望这个作品..谢谢你的技巧daxim – typedef1 2012-02-29 11:34:53