5

我按照这个有用的教程为我的用户安装了 Perl。很抱歉链接到外部网站,但我认为阅读这是了解如何回答问题的唯一方法。

无论如何,我正在为 CPAN 配置提供默认值——通过教程创建的目录.cpanCPAN目录——但由于某种原因,当我尝试安装模块时,CPAN 仍然想深入/usr/lib/研究——它只是无法进入。这是在安装时DBD::CSV

这是错误消息:

All tests successful (7 subtests UNEXPECTEDLY SUCCEEDED), 3 tests skipped.
Files=23, Tests=706,  3 wallclock secs ( 2.28 cusr +  0.54 csys =  2.82 CPU)
/usr/bin/make test -- OK
Running make install
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Can't create '/perl5lib/lib/Bundle/DBD'
mkdir /perl5lib: Permission denied at /usr/lib/perl5/5.8.8/ExtUtils/Install.pm line 457
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
at -e line 1
make: *** [pure_site_install] Error 13
/usr/bin/make install  -- NOT OK

似乎走错了路perl5lib

4

4 回答 4

5

是的,local::lib 有帮助。我建议使用 cpanm 而不是 cpan。我认为它默认安装所有东西 ~/perl5/lib/perl5。这是一个超级有用的教程

于 2012-07-06T18:06:21.877 回答
5

local::lib导致安装程序使用我认为损坏的 INSTALL_BASE。我使用perlbrew来安装 Perl 的本地副本。

  • 你不会弄乱你系统的 Perl 安装,所以你不会破坏你的操作环境。
  • 允许您轻松安装多个版本和构建的 Perl。
  • 不需要使用 INSTALL_BASE。
  • 无需特殊权限。
于 2012-07-06T19:00:41.743 回答
2

看看这个模块:local::lib

于 2012-07-06T18:02:44.733 回答
0

您是否在 cpan 中配置了 myconfig.pm 而不是让它自动填充所有默认值?在 cpan 配置期间,您需要为 Makefile.PL 部分添加 PREFIX="" 以便它将模块安装到您具有写入权限的这个新位置。由于它已经为您自动配置,请进入 .cpan/CPAN/,查找 MyConfig.pm 并对其进行编辑。找到“makepl_arg”行并将 [] 中的值更改为包含 PREFIX=""。然后尝试 perl -MCPAN -e shell 并安装一个模块。

于 2012-07-06T18:55:39.760 回答