我正在尝试在我的系统Ubuntu 12.04上使用Perl 第一次。我安装了Perl v.5.14.2 我查了how to install Perl modules,所以我开始如下:
$ perl -MCPAN -e shell
向导开始配置环境,如下所示:http://pastebin.com/5hn8vkb5
但是,它在中间停止,并显示以下错误消息:
...
Checksum for /home/john/.cpan/sources/authors/id/A/AP/APEIRON/local-lib-1.008009.tar.gz ok
---- Unsatisfied dependencies detected during ----
---- APEIRON/local-lib-1.008009.tar.gz ----
ExtUtils::MakeMaker [build_requires]
Running make test
Make had some problems, won't test
Delayed until after prerequisites
Running make install
Make had some problems, won't install
Delayed until after prerequisites
Can't locate local/lib.pm in @INC (@INC contains:
/home/john/perl5/lib/perl5
/etc/perl
/usr/local/lib/perl/5.14.2
/usr/local/share/perl/5.14.2
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.14
/usr/share/perl/5.14
/usr/local/lib/site_perl
/home/john/Desktop)
at /usr/share/perl/5.14/CPAN/FirstTime.pm line 1300.
如何在我的Ubuntu安装上正确设置Perl环境?
中断向导并再次重新启动后,不再出现错误消息。 如何再次启动向导,以便我可以在此处选择:
你想要什么方法? (选择'local :: lib','sudo'或'manual') [本地:: LIB]
答案 0 :(得分:15)
你错过了local::lib
,这就是你告诉CPAN
shell要做的事情。
您可以这样安装:
sudo apt-get install liblocal-lib-perl
您可以通过rm -rf
- ~/.cpan
目录重新开始。您自担风险
但是,我建议您尝试cpanminus
而不是旧的CPAN shell
。
sudo apt-get install cpanminus
答案 1 :(得分:2)
local 命名空间用于您自己的个人模块,在CPAN中找不到。这是一个相对较新的东西。在许多站点,您可能需要不在当前版本的Perl中的CPAN模块,或者您需要更新版本的特定模块。但是,您没有对安装CPAN模块的标准位置的写访问权。
这样做是在$HOME/perl5/lib/local
目录下安装这些模块,您可以在其中访问它们。您还需要设置PERL5LIB
环境变量(通常在您的启动脚本中),因此Perl将在查找这些模块时检查此目录。
如果您具有sudo
权限,请使用它来安装CPAN模块而不是尝试此操作。以下内容将Foo::Bar
模块安装到标准模块目录中(并根据需要进行任何配置):
$ sudo cpan install Foo::Bar
如果需要配置CPAN,它将首先执行此操作。
在MetaCPAN上为模块执行 local :: lib 安装有完整的说明。他们很清楚。
答案 2 :(得分:0)
几个新的操作系统(如Redhat 7)强制检查perl版本中local :: lib的存在,实际上这是一件好事,它使用户能够使用CPAN并添加,试验和享受新模块与perl一起使用而无需等待全站安装(如root用户)。默认情况下,local :: lib查找用户本地或下载模块所在的$ HOME / perl5目录。如果您看到此问题,则必须执行以下操作