【问题标题】:Error locating modules using perlbrew and cpanm使用 perlbrew 和 cpanm 定位模块时出错
【发布时间】:2014-10-27 10:29:46
【问题描述】:

我想在我的机器上使用 perlbrew 和 cpanm。我是这样安装 perlbrew 的

curl -L http://install.perlbrew.pl | bash

并在我的 .bashrc 中获取 ~/perl5/perlbrew/etc/bashrc。接下来我安装了perl v5.21.5并切换到这个版本。which perl命令指向我的perlbrew安装。 cpanm 也是如此。

但是当我安装像 cpanm Mojo 这样的 perl 模块时,既没有安装二进制文件,也找不到包含的内容。但是所有的测试都通过了。我查看了~/perl5/ 并找不到来源。以前有人遇到过同样的问题吗?我之前可能在我的 Ubuntu 14.04 上使用过 cpan。这会导致任何问题吗?如何确定 cpanm 将模块放在哪里?

顺便说一句:我使用的是 perlbrew 0.71 版

【问题讨论】:

    标签: perl perlbrew cpanm


    【解决方案1】:

    我通过删除主目录中与 perl 相关的所有内容解决了这个问题。文件夹 ~/.cpan 有写保护文件。只有 sudo 用户可以删除它们。我假设我过去使用 cpan 作为 root。另外我删除了~/.cpanm 和~/perl5。重新安装 perlbrew、perl 和 mojolicious 后,一切都开箱即用。

    【讨论】:

      【解决方案2】:

      就我而言,我只是想让一些 perl 代码运行。非常感谢 irc.freenode.net 上的#perl 频道。

      我第一次使用 local::lib,但使用后可能没有完全清理。我试图运行的代码所需的模块不会与系统 perl 一起运行。它太旧了。

      然后我尝试了perlbrew install perl-5.20.1perlbrew install-cpanm。以已知数量重新开始感觉很棒。然而,我发现模块正在通过测试并说它们正在安装但没有被找到和使用。依赖项试图不断地重新安装。一次安装一个依赖项甚至都不起作用。真是莫名其妙。在阅读过程中的某个地方,我设置了PERL_MB_OPTPERL_MM_OPT,尽管我认为我也应该设置PERL5LIB

      所以我在rm -rf ~/.cpan ~/.cpanm ~/perl5 之后重新开始使用 perlbrew。现在一切正常。万岁!

      【讨论】:

        【解决方案3】:

        您是否偶然在新的终端窗口中运行 cpanm 命令,如果是这样,它可能不会使用您制作的新 perl。

        "perlbrew use" 仅使当前 shell 使用已编译的 perl,而 "perlbrew switch" 使当前用户的所有新 shell 使用选定的 perl。

        你应该提供“perl -V”和“perlbrew info”的输出

        以下是如何找到 cpanm 安装模块的提示:

        1) 安装定位(sudo aptitude install locate)

        2) 运行“sudo updatedb”(创建定位使用的索引)

        3) 运行“locate Mojo”查看文件的创建位置。

        另外有趣的是知道你正在使用哪个 cpanm 二进制文件。 “哪个cpanm”

        您可以使用“perlbrew install-cpanm”安装 perlbrew 范围的 cpanm

        【讨论】:

          【解决方案4】:

          [我假设您在安装 perlbrew 后在当前的 shell 中启动了一个新的 shell(例如,重新打开了您的终端或执行了exec bash)或获取了~/perl5/perlbrew/etc/bashrc ]

          您使用哪个 Perl 来安装 cpanmcpanm 将为运行它的 Perl 安装模块,如果您以 cpanm ... 运行它,它将是 cpanm 的第一行中提到的模块。

          选项:

          1. 使用cpan 而不是cpanm
          2. 使用新安装的 Perl 安装 cpanm
          3. 使用perl -S cpanm ... 作为解决方法。

          【讨论】:

            猜你喜欢
            • 2017-04-16
            • 2014-09-30
            • 1970-01-01
            • 2015-06-08
            • 1970-01-01
            • 2011-04-13
            • 1970-01-01
            • 2015-07-27
            • 1970-01-01
            相关资源
            最近更新 更多