OS X 和 Perl = 有点痛苦,当需要很多模块时。
问题:
macports - 默认 5.12 可选 5.14。不幸的是,许多macports 有错误的依赖关系,准确地询问 5.12,当您遇到 5.14 时遇到问题您的默认 perl 将是 5.14,并且某些软件包将安装和使用 5.12 :(。
perlbrew - 非常好和容易,但这里有一个缺点。当你想用 macports 安装一些包并且依赖于 macport 的 perl 时 - 它被安装了。因此,您将获得一个 macport 的 perl(适用于已安装的软件包和 perlbrew perl)。更糟糕的是,您的例如 5.14 perlbrew 无法与 macports(默认 5.12)一起正常播放。例如 p5-GD、ImageMagick 和许多其他的。
自制- IMO,太可怕了。到达推荐rm -rf /usr/local的部分时停止阅读文档。(当然,所有数据,例如mysql)。也许现在更好了。
- fink,和macports一样的问题。
我的解决方案:
简单地使用 macports 版本进行真正的开发和 perlbrew 仅用于测试(但不使用依赖的二进制文件,如 GD 等)。当想要“perlbrew”采购它的 shell-start-files 时,否则不使用 macports。
另一个痛苦的来源是 - 尝试首先安装 macports 版本的 perl 模块(因为一致性和依赖性)并且只有当 macports 版本不存在或需要最新的 cpan 版本时 - 使用cpanm
. CPAN 版本 Extutils::Makemaker 不喜欢 macports 版本 - 并且在使用cpanm
.
真正的痛苦。Macports 迫切需要一个新的 perl - maintenaier,他将清理错误的依赖项并制作 macports 版本,cpanm
它将正确安装 cpan 版本的模块作为 macport 包。几年前 FreeBSD 就有了一些东西 - cpan 模块进入 BSDPAN 捆绑包中,可以使用 pkg_* 命令进行管理。
所以结果:我目前不知道任何简单的 OS X perl 用法。当你想立即使用一些依赖于 perl 的软件时,你必须自己编译它们(有时它们不会编译 - 所以你需要 OSX 的补丁版本,所以开始使用 macports 或 homebrew 和......痛苦.. ;(
正如 Sinan 已经说过的那样 - 这些安装中的任何一个都不会干扰您的系统 perl,但您可能首先开始使用 cpan 和系统 perl 并将一些模块安装到 /Library..
IMO,你可以忍受它。只需安装 macports 并开始使用它。但是,如果您想要一些 perl-repair-installation - 可能更好的地方是:https ://apple.stackexchange.com/ 。