【问题标题】:How to force the INC and LIB path defaults for CPAN builds (cpanm+perlbrew)如何强制 CPAN 构建的 INC 和 LIB 路径默认值 (cpanm+perlbrew)
【发布时间】:2013-05-09 22:52:46
【问题描述】:

背景

使用 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 树中),这里是如何为库和包含 cpanm 的全局指定 默认搜索路径 的某种方式(到模块构建过程)首先搜索/opt/local/{lib|include}

AFAIK cpanm 没有任何开关,所以也许是一些 ENV 变量?或者任何更简单的解决方案,比如编辑每个 Makefile.PL?

【问题讨论】:

    标签: macos perl macports cpan


    【解决方案1】:

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

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

    【讨论】:

    • cpanm --look Some::Dist 建议为我解决了类似的问题
    猜你喜欢
    • 2014-02-22
    • 2018-05-14
    • 2017-04-16
    • 1970-01-01
    • 2016-11-10
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多