我正在尝试使用 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/