macos - pp(perl 编译器)问题 - 仍然有依赖性

标签 macos perl perl-packager

我正在尝试使用 pp(perl 编译器)创建一个可以独立于 perl 安装的库和解释器运行的应用程序。

它成功创建了一个已编译的可执行文件,尽管我必须使用 -x -c 选项才能让它成功找到依赖项。它将在我的机器上运行,但是当我在另一台机器上尝试它时,我收到此错误,所以显然仍然存在一些依赖性:

501 协议(protocol)方案“https”不受支持(LWP::Protocol::https 未安装)

我正在 MacOS 10.14.1 上运行它,如果这有什么区别的话。谢谢!

最佳答案

LWP::Protocol::https 在需要时动态加载,因此 pp 默认情况下无法知道它是否需要。

解决方案1

-x 传递给 pp,并确保该模块实际在运行中加载,pp 用于确定要包含的模块。这可能可以通过在运行期间使用 LWP 发出 HTTPS 请求来实现。 --xargs=... 可能对此有用。

解决方案2

-M LWP::Protocol::https传递给pp。您还可以传递 -M 'LWP::Protocol::**' 来获取已安装的所有协议(protocol)处理程序。

解决方案3

use LWP::Protocol::https (); 添加到您的脚本或包含的模块中。包含一条说明您这样做的原因的评论是适当的。

关于macos - pp(perl 编译器)问题 - 仍然有依赖性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64095220/

相关文章:

macos - $cfg ['TempDir'] (./tmp/) 无法访问。 phpMyAdmin 无法缓存模板,因此速度会很慢。苹果电脑解决方案

java - 如何从头开始构建基本终端

json - 如何安全地从 JSON 1 升级到 JSON 2 wrt utf8 字符串?

perl - 在这种简单的情况下,我应该如何设置 DBIx::Class 结果类?

regex - 我需要在 Perl 正则表达式文字中转义分号吗?

ruby - 为什么 lib/pp.rb 需要不存在的 lib/pp/room

ios - 在 XCode 中使用类似处理的 AWK

ios - 使用 AVPlayer 播放 CMSampleBufferRef