安装 CPAN 模块时如何指定外部库文件位置
How to specify external library file locations when installing CPAN modules
我试图让 Perl 的 Finance::Quote 模块在 MacOS 升级到 11.4 后工作。依赖项之一是 B::Keywords。 B::Keywords 安装失败并出现以下错误:
> sudo cpan B::Keywords
[...]
Can't open /System/Library/Perl/5.30/darwin-thread-multi-2level/CORE/keywords.h: No such file or directory at t/11keywords.t line 25
四处挖掘,我发现 keywords.h 存在于我的系统中的这个位置:
/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Perl/5.30/darwin-thread-multi-2level/CORE/keywords.h
有没有办法告诉 cpan(或 cpanm,或其他一些安装工具)在哪里寻找这些 headers?或者,欢迎使用任何其他方法来实现此目的。
他们似乎从 CORE
目录(相对于 $Config{archlibexp}
给出的路径)中为 macOS 10.14 上的系统 perl 删除了 keywords.h
,参见 this 错误报告。
您无法安装 B::Keywords
的原因是测试失败 11keywords.t 请参阅第 24 行。一些可能的解决方案:
- 在没有 运行 测试的情况下安装模块 (
sudo cpan -T B::Keywords
)
- Submit an issue 在 GitHub 问题跟踪器上,以便模块的作者可以修复问题。
- 使用 perlbrew 安装模块而不是使用系统 perl(我测试了它并且在这里工作正常)。
我试图让 Perl 的 Finance::Quote 模块在 MacOS 升级到 11.4 后工作。依赖项之一是 B::Keywords。 B::Keywords 安装失败并出现以下错误:
> sudo cpan B::Keywords
[...]
Can't open /System/Library/Perl/5.30/darwin-thread-multi-2level/CORE/keywords.h: No such file or directory at t/11keywords.t line 25
四处挖掘,我发现 keywords.h 存在于我的系统中的这个位置:
/System/Volumes/Data/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Perl/5.30/darwin-thread-multi-2level/CORE/keywords.h
有没有办法告诉 cpan(或 cpanm,或其他一些安装工具)在哪里寻找这些 headers?或者,欢迎使用任何其他方法来实现此目的。
他们似乎从 CORE
目录(相对于 $Config{archlibexp}
给出的路径)中为 macOS 10.14 上的系统 perl 删除了 keywords.h
,参见 this 错误报告。
您无法安装 B::Keywords
的原因是测试失败 11keywords.t 请参阅第 24 行。一些可能的解决方案:
- 在没有 运行 测试的情况下安装模块 (
sudo cpan -T B::Keywords
) - Submit an issue 在 GitHub 问题跟踪器上,以便模块的作者可以修复问题。
- 使用 perlbrew 安装模块而不是使用系统 perl(我测试了它并且在这里工作正常)。