我想在我的机器上使用perlbrew和cpanm。我安装了这样的perlbrew
curl -L http://install.perlbrew.pl | bash并在我的.bashrc中找到了~/perl5/perlbrew/etc/bashrc。接下来,我安装了Perlv5.21.5,并切换到这个version.The which perl命令,指向我的perlbrew安装。cpanm也是如此。
但是,当我安装像cpanm Mojo这样的perl模块时,既没有安装二进制文件,也没有找到includes。但是所有的测试都通过了。我在~/perl5/下找了一下,找不到源码。以前有没有人遇到过同样的问题?我之前可能在我的Ubuntu 14.04上使用过cpan。这会引起什么问题吗?我怎么知道cpanm把模块放在哪里呢?
顺便说一下:我使用的是perlbrew 0.71版
发布于 2014-10-27 23:50:42
我删除了主目录中与perl相关的所有内容,从而解决了这个问题。文件夹~/.cpan包含写保护文件。只有sudo用户可以删除它们。我假设我在过去使用cpan作为root。此外,我还删除了~/.cpanm和~/perl5。在重新安装perlbrew、perl和mojolicious之后,一切都开箱即用。
发布于 2014-12-01 02:58:26
在我的例子中,我只是尝试运行一些perl代码。非常感谢irc.freenode.net上的#perl频道。
我首先使用的是local::lib,但在使用它之后可能没有完全清理干净。我试图运行的代码所需的模块不能与系统perl一起运行。它太老了。
然后我尝试了perlbrew install perl-5.20.1和perlbrew install-cpanm。以一个已知的数量重新开始,感觉很棒。然而,我发现模块正在通过测试,并说它们正在安装,但没有被找到和使用。依赖项正在尝试不断地重新安装。一次安装一个依赖项甚至不起作用。这很让人费解。在此过程中,我读到了设置PERL_MB_OPT和PERL_MM_OPT,尽管我认为我也应该用它们设置PERL5LIB。
因此,在rm -rf ~/.cpan ~/.cpanm ~/perl5之后,我重新开始使用perlbrew。现在一切都正常了。万岁!
发布于 2014-10-27 20:05:00
您是否偶然在新的终端窗口中运行cpanm命令,如果是这样,它可能不会使用您准备的新perl。
"perlbrew use“只使当前shell使用已酿造的perl,而"perlbrew switch”使当前用户的所有新shell都使用选定的perl。
您应该提供"perl -V“和"perlbrew info”的输出。
以下是如何找到cpanm安装模块的位置的提示:
1) install locate (sudo aptitude locate)
2)运行"sudo updatedb“(创建locate使用的索引)
3)运行"locate Mojo“查看文件的创建位置。
同样有趣的是,要知道您使用的是哪个cpanm二进制文件。“哪个cpanm”
可以使用"perlbrew install- cpanm“安装perlbrew范围内的cpanm。
https://stackoverflow.com/questions/26585502
复制相似问题