如何强制CPAN构建的INC和LIB路径默认值(cpanm + perlbrew)

时间:2013-05-15 11:29:07

标签: macos perl macports cpan

背景

使用OS X并使用macports获取其他实用程序和库。 macports正在将所有内容安装到/opt/local中。但是macports中的默认perl是5.12,指定了更高版本,例如打破了许多端口,因此我使用自己的5.16 perl与perlbrew一起安装。

因此,我有默认/usr/lib(由Apple提供)的库,但希望将基于XS的perl模块与macports提供的库链接,并包含在/opt/local

现在问题是,在使用cpanm(在我的perlbrew的perl树中)安装模块时,在某种程度上如何全局指定库的默认搜索路径并包含{{ 1}}(到模块构建过程)首先搜索cpanm

AFAIK /opt/local/{lib|include}没有任何开关,所以也许,一些ENV变量?或者编辑每个Makefile.PL的任何更简单的解决方案?

1 个答案:

答案 0 :(得分:4)

手动安装一半。运行cpanm --look Some::Dist并在命令行上为构建工具提供相应的INC and LIBS--include_dirs and --extra_compiler_flags进行配置,然后使用构建,测试,安装步骤和关闭子shell完成。

或者,如果您需要完全自动执行此操作,请使用功能齐全的CPAN客户端而不是cpanm。例如,运行cpan shellconfigure makepl_arg and mbuildpl_arg。然后将其提供给后续安装(而不是如上所述)。