【发布时间】:2014-05-18 03:19:51
【问题描述】:
你好 StackOverflow 社区,
我正在尝试安装一个 perl 模块 IO::All。但是每次我使用 CPAN 安装许多 perl 模块(包括如果我从 cpan "install Build::CPAN" 中运行)它都会失败并显示
无法在 @INC 中找到 strict.pm(@INC 包含: /dev/null/lib/perl5.8-dist/Linux-2.6c2.5-x86_64-64int /dev/null/lib/perl5.8-dist /dev/null/lib/perl5.8-dist/Linux-2.6c2.5-x86_64-64int /dev/null/lib/perl5.8-dist /dev/null/lib/perl5.8-dist .) 在 Build.PL 第 2 行。
这让我困惑了好几个小时。我用谷歌搜索,似乎找不到解决方案。运行类似
perl -e 'use strict; print "ok"'
输出很好。而我试图运行的原始文件也要求 IO::All 使用严格。严格怎么不见了?默认情况下不是 perl 的严格部分吗? /dev/null 在哪里?如果您不在乎,那不是可以传入 stderr/stdout 的特殊位置吗?一段时间以来,我一直在为此烦恼。我一定遗漏了一些明显的东西。
这是在 Rhel5 虚拟机 Linux-2.6-x86_64 变体上运行的。
非常感谢您的帮助。如果我需要提供更多信息,请告诉我。
谢谢你, -阿萨夫
【问题讨论】:
-
能否提供
echo o conf | perl -MCPAN -e shell的输出 -
/apollo/env/envImprovement/bin/make和/apollo/env/envImprovement/var/bin/zsh是什么?我会尝试做 1)o conf make /usr/bin/make2)o conf shell /bin/sh3)o conf commit看看这是否会有所作为。 -
perl -V:install.*lib显示什么?perl -wle'print for @INC'显示什么? -
什么?!安装库甚至不在
@INC中?是的,这个 perl 的构建/安装方式有些奇怪。此时,我想知道如何将/apollo/添加到@INC。这些路径应该被硬编码到perl,但它们似乎是通过其他一些被覆盖的方式添加的。我想知道你在perl -V的%ENV部分有什么(大写的“V”)。 -
修复起来并不复杂。只需重新安装 Perl。但这意味着失去您的自定义,我们不知道它们是什么。
标签: perl module installation cpan