2012-02-29 120 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