【发布时间】:2018-06-21 11:30:01
【问题描述】:
我在我的 Perl 脚本中使用 Net::SSH2 模块并尝试使用 Par::Packer 制作可执行文件(Windows 的 .exe)。该脚本需要使用公钥从 windows 盒子 ssh 到 linux 盒子,并且不想输入密码。
运行 .exe 时遇到以下错误
无法加载 'C:\Users...\AppData\Local\Temp\par-73656172756d7567616d\cache-a6d57d5a234829aae84d08c4a78a09ad307ea8d3\a9057da2.xs.dll' 对于模块 Net::SSH2: load_file: 指定的模块不能是 位于 C:/Strawberry/perl/lib/DynaLoader.pm 第 193 行。 C:/Strawberry/perl/vendor/lib/PAR/Heavy.pm 第 123 行。
尝试使用以下方法解决,但均无效
- 试图从 Strawberry Perl 的便携版本打包
- 在使用 Par::Packer 打包时尝试链接 a9057da2.xs.dll
是否有任何解决方法或修复方法可以使用 Net:SSH2 将 perl 脚本打包为 .exe。 或者是否有 Net::SSH2 的替代品,用于使用公钥(不传递密码)从 Windows 到 Linux 的 ssh?
【问题讨论】:
标签: perl strawberry-perl net-ssh pp-perl-par-packager perlnetssh