Perl虚拟环境?

背景(不是强制性阅读)

我作为网站开发实习生开始了我目前的工作。 那个正在教我的人留下了一半,我基本上只是用一个Google paddle留下了sh * t Creek,因为几乎没有关于如何运行任何服务器的文档。 我现在主要是维护包括公司内联网在内的服务器上的软件,而不是开发。

情况

我曾经使用Python,但是我们目前有一个发展内联网,它似乎在运行,或者至less是由Perl脚本启动的。 服务器正在运行Solaris 10。

我试图运行一个.pl文件,但系统抱怨,它找不到LWP/Simple.pm

LWP/Simple.pm在那里,但它在不同的Perl版本下。

perl的/ lib目录/ SITE_PERL / 5.6.1 / LWP / Simple.pm

但目前的版本是:

@INC

 /usr/perl5/5.8.4/lib/sun4-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/sun4-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/sun4-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl 

bash-3.00#perl -V

我的perl5总结(版本5第8版颠覆4)

我很不情愿安装任何新的东西,因为这一定是以前开始的,所以一切都应该到位。 我只需要了解所有这些工作。 是@INCLD_LIBRARY_PATH

你将如何切换当前版本? Perl有没有像virtualenv那样的东西?

我已经去了声明Perl版本,但只是给出了相同的错误信息:

 perl/bin/perl5.6.1 bin/emwd.pl 

实际的错误是:

Can't locate LWP/Simple.pm in @INC (@INC contains: /ade_autofs/ade/perl/bin/Solaris/Opt/lib/5.6.1/sun4-solaris /ade_autofs/ade/perl/bin/Solaris/Opt/lib/5.6.1 /ade_autofs/ade/perl/bin/Solaris/Opt/lib/site_perl/5.6.1/sun4-solaris /ade_autofs/ade/perl/bin/Solaris/Opt/lib/site_perl/5.6.1 /ade_autofs/ade/perl/bin/Solaris/Opt/lib/site_perl .) at bin/emwd.pl line 173. BEGIN failed--compilation aborted at bin/emwd.pl line 173.

似乎挺直,但林不知道我应该改变@INC

这里可能有两件事情:

1)有不同的pathperl吗? 也许是从那里手工运行的。

2)你的LD_LIBRARY_PATH相当于PERL5LIB 。 检查一下,看看有没有什么设置。

在你弄清楚了之后,开始雕刻自己一个更好的paddle :)有很多选项,包括在一个path下build立一个完整的库树,然后使用PERL5ENV ,甚至build立你自己的独立的perl +库,并调用在你所有的脚本中

哦,是的 – Solaris! 我怀疑它运行不是你的系统perl。 检查/opt/csw/bin/perl或类似的。 我们在我们的一台Solaris主机上执行这个操作 – 调用csw perl来运行我们想要运行的东西,然后单独离开系统perl。

你将如何切换当前版本? Perl有没有像virtualenv那样的东西?

是的, Perlbrew是一个相当于Perl的virtualenv。