我正在使用 perlbrew 在我的主目录中运行本地 perl,并使用 cpan 安装新模块。但是,我似乎有一些配置错误。当我使用 cpan 时,它总是将库安装到 ~/perl 目录,但我的 perlbrew 位于 ~/perl5 目录中。这导致创建适当的 PERL5LIB 目录时出现一些问题,我应该包括 perl 或 perl5 库以及按什么顺序。我似乎一直遇到鸡和蛋的问题,其中包括首先导致加载错误的模块或抱怨使用的错误版本。具体来说,它抱怨 5.8.8 perl 版本(首先我在决定升级到稍微不那么古老的版本之前安装,并且仍然是 /bin/perl 的版本)与我正在使用的 10.1 库冲突。
我认为这很可能可以通过更新配置文件来解决,但我不确定要更改什么。我查看了我的 cpan config.pm 并没有看到任何定义安装方向的内容,实际上我不确定 cpan 如何知道在本地安装而不是尝试安装到全局 cpan 目录。
谁能指出我需要更改的适当配置值以使 cpan 更新我的 perlbrew 库,而不是获取两个单独的库?
编辑
好吧,我很盲目。答案在我的配置文件中,位于 ~/.cpan/CPAN/MyConfig.pm。我发誓我看了几次文件,甚至搜索了 perl 这个词来寻找任何可能指向我的 ~/perl 目录的行,但不知何故错过了我正在寻找的明显的配置选项......不知道怎么做。
无论如何,一旦我看到它,我只需要更改它指向的位置,这需要进行一些错误的尝试。我改变了这一行:
'makepl_arg' => q[PREFIX=~/perl],
到
'makepl_arg' => q[PREFIX=~/perl5/perlbrew/perls/perl-5.10.1/],
这当然是我用于 perlbrew 的 perl 版本的位置。这似乎解决了我的问题,如果我不是盲人的话应该很容易。
我确实有一个烦恼,我有这行和我的 PERL5LIB 变量,设置在 ~/.bashrc 中,有效地硬编码为指向 perllib 的 perl-5.10.1 版本,这意味着如果我决定切换到另一个 perl 版本我将需要更新两个参考或再次出现问题。我不确定如何使 cpan 或我的 PERL5Lib 知道从 perls 目录中推断出它应该使用哪个版本的 perl。这对我来说不是太大的问题,我认为我不会被允许升级到 5.10.1(即使我想要),所以我不太可能改变这个值。否则它现在工作正常。