set_timeout 支持需要 libssh2 版本 1.2.9 或更高版本

libssh2 version 1.2.9 or higher required for set_timeout support

我正尝试在下面的 Perl 代码中使用 Net::SSH2,但出现此错误

libssh2 version 1.2.9 or higher required for set_timeout support at test.pl line 8.
1.2.566053SSH-2.0-libssh2_1.2.5
Press any key to continue . . .

use strict;

use Net::SSH2;
#use Net::SSH2::Expect;

my $Hostname = 'xxxxxxxxxx';

my $ssh = Net::SSH2->new();

print $ssh->version();

$ssh->timeout( 10 );

#$ssh->connect( "xxxxxxxx" );

我可以看到我的 libssh2 版本是旧的。有人可以帮我升级 libssh2 版本吗?

我强烈建议升级您的 Perl 版本,使用本机 Windows 应用程序。如果您安装最新版本的 Strawberry Perl (5.24.1.1 at time of writing), it includes libssh2-1.7.0. It then allows you to successfully build, install and use Net::SSH2.

这是您的代码的输出:

c:\>perl ssh.pl
1.7.067328SSH-2.0-libssh2_1.7.0

它似乎已经在构建中有一段时间了,但如果你要升级,我会升级到最新最好的。