【问题标题】:Unable to install any perl modules because it can't location strict.pm无法安装任何 perl 模块,因为它无法定位 strict.pm
【发布时间】: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/make 2) o conf shell /bin/sh 3) 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


【解决方案1】:

我今天有这个问题。我编译了 perl 5.14 并安装到我的主目录 ($HOME/perl5.14/)。

因为 perl5.14 安装了一些最小的 perl5 库,所以您必须将目录包含到 $PERL5LIB=$HOME/perl5.14/usr/local/lib/perl5/5.14.2

希望这对你有用:)

【讨论】:

  • 感谢您的回答,但遗憾的是我无法验证。我最终只是重新创建了我的虚拟机(因为另一个问题)所以问题就消失了。无论如何感谢您的帮助。
  • make install 为我解决了从源代码构建 perl 以与 perlbrew 一起使用时的问题。我什至不必perlbrew use 或更改PATH!谢谢!
【解决方案2】:

我还怀疑您的 cpan 脚本配置错误。但是perl -MCPAN 使用相同的配置,所以不会帮助你。

安装备用 CPAN 客户端可能会有所帮助。我推荐 cpanminus,因为它很容易安装。只需运行以下命令(最好以 root 身份登录):

curl -L http://cpanmin.us | perl - App::cpanminus

现在你应该有 cpanminus,你可以用它来安装 IO::All:

cpanm -S -v IO::All

【讨论】:

  • 我已经安装了 cpanminus,但我无法按照您建议的方式使用 perl 安装它。它失败并出现与上述相同的错误,无法找到 strict.pm。相反,我使用我放置在 $PATH 中的目录下载二进制文件来安装它。但我使用的是 cpanm 还是常规 cpan 都没有关系。我犯了同样的错误。输出与上面的 cpan 几乎相同,所以我不会发布它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-04
  • 2020-05-07
  • 2011-06-15
  • 2017-08-28
  • 1970-01-01
相关资源
最近更新 更多