我是Perl的新手.运行脚本时出现以下错误:
Can't locate URI.pm in @INC (@INC contains: /usr/local/packages/perl_remote/5.6.1/lib/5.6.1/i86pc-solaris /usr/local/packages/perl_remote/5.6.1/lib/5.6.1 /usr/local/packages/perl_remote/5.6.1/lib/site_perl/5.6.1/i86pc-solaris /usr/local/packages/perl_remote/5.6.1/lib/site_perl/5.6.1 /usr/local/packages/perl_remote/5.6.1/lib/site_perl .) at (eval 2) line 3. Compilation Failed in require at /usr/local/packages/perl_remote/5.6.1/lib/site_perl/5.6.1/HTTP/Request.pm line 3. Compilation Failed in require at /usr/local/packages/perl_remote/5.6.1/lib/site_perl/5.6.1/LWP/UserAgent.pm line 10. BEGIN Failed--compilation aborted at /usr/local/packages/perl_remote/5.6.1/lib/site_perl/5.6.1/LWP/UserAgent.pm line 10. Compilation Failed in require at /usr/local/packages/perl_remote/5.6.1/lib/site_perl/5.6.1/LWP/Simple.pm line 26. BEGIN Failed--compilation aborted at /usr/local/packages/perl_remote/5.6.1/lib/site_perl/5.6.1/LWP/Simple.pm line 26. Compilation Failed in require at txotf_0_install.pl line 35. BEGIN Failed--compilation aborted at txotf_0_install.pl line 35.
可能的原因是什么,以及如何让脚本工作.任何帮助将不胜感激.
解决方法
>可能你没有安装URI.它可能不会保存在您的计算机上的任何位置,也可能会“安装”在某个位置.
>如果它没有安装,那么您需要从CPAN安装它.
>如果将其保存到您的机器中,您只需要让系统知道从哪里获得它.
如果必须从CPAN安装它,则可能需要管理员权限才能将其放在列出的目录中.但CPAN将允许您将其安装到用户目录,因此您仍然可以安装它.
因此,如果您无法在@INC中列出的目录中安装模块,那么有各种方法.
> Perl 5读取一个名为PERL5LIB的环境变量.该“数组”中的任何目录都将被添加到@INC.因此$ENV {PERL5LIB}的目录结构中的任何内容都将优先于任何系统目录. (见here)
>另一种方法是每个脚本.使用lib pragma还会将指定的目录插入到@INC中. (见lib)
use lib '/path/to/URI/module'; use URI;
>最后一种方法,你可以每次运行.您可以在命令行perl -I / path / to / URI / module -e 1上使用-I开关运行perl(参见perlrun)