如何在 El Capitan 上使用 CPAN 添加 Perl 模块

如何在 El Capitan 上使用 CPAN 添加 Perl 模块

当 OS X El Capitan 推出时,使用 CPAN 添加或更新 Perl 模块的功能就消失了。看来脚本要么想改变/usr/bin,现在已被禁止,要么试图使用/sw/usr/bin不存在的二进制文件,/usr/bin而是 。Perl 本身无法安装,因为它想安装到/usr/bin而不是/usr/local/bin

使用这些脚本的脚本在哪里/sw/usr/bin?似乎它们应该使用 PATH 来定位二进制文​​件,而不是对其进行硬编码。

有人知道如何修复 El Capitan 上的 Perl 和 CPAN 吗?详细说明会很有帮助。

答案1

向 OSX El Capitan 附带的 perl 添加新的 CPAN 包没有遇到任何问题。默认情况下,它们会构建在您的主目录中,并安装在/Library/Perl/5.18/具有 root 权限可写入的位置。

你提到的前缀/sw/似乎来自芬克安装。如果您以前从 Fink 安装了另一个 perl,您可能需要更新您的 Fink 安装并更新来自它的 perl 包。

如果你确定你没有使用 Fink,并且想要运行 OS X 提供的 perl 版本之外的另一个版本,那么你可以使用自制。它将安装在 中/usr/local,您可以调用它,但所有 OSX perl 程序将继续使用 OSX 附带的 perl 版本。请注意 Fink 和 Homebrew 不能很好地相互配合,最好坚持使用一个。

最后,如果你想运行多个 perl 版本,并能够在它们之间来回切换,我建议你看看perlbrew

一些其他有用的命令可以进一步调试你的 perl 安装:

  • which perl将告诉您当前的 perl exec 安装在哪里
  • perl -V将为您提供有关 perl 版本、其编译日期和选项以及搜索模块的包含路径的更多信息
  • perldoc perllocal将列出您使用 CPAN 本地安装的 perl 模块

关于 CPAN,正如您所注意到的,常规 CPAN 升级会失败。不过,有一个解决方案,即告诉 CPAN 安装在 中/usr/local/bin/。我已记录了 CPAN 升级在此回答

相关内容