当我尝试在我的代码中执行以下语句时,我收到以下错误消息。我的错误消息中的路径不存在。如下所示,路径实际位于/lib/perl5/site_perl/5.22/Expect.pm中。我不确定Perl是如何将" usr"路径中的文件夹。我在运行其他代码时收到类似的错误消息。
收到错误讯息:
不能执行" ssh" /usr/lib/perl5/site_perl/5.22/Expect.pm第173行没有这样的文件或目录。
我的代码片段:
$ssh = Net::SSH::Expect->new(
host => "192.168.1.10",
user => 'username',
password => 'password',
raw_pty => 1,
log_stdout => 1,
no_terminal => 1,
);
my $login_output = $ssh->login();
以下是使用perl -V
显示的环境变量答案 0 :(得分:2)
Net::SSH::Expect需要安装SSH。它不是/或。
模块description中的第一行说明:
此模块是系统的$ PATH中可用的ssh可执行文件的包装。
所以你必须安装Cygwin的SSH软件包。
答案 1 :(得分:1)
我不确定Perl如何在路径中添加“usr”文件夹
Cygwin是一个unix仿真环境。部分内容包括模拟unix文件系统。 Cygwin程序不使用C:
,而是使用虚拟/
目录。你所看到的C:\cygwin64\lib\perl5\site_perl\5.22\Expect.pm
在cygwin环境中可以/usr/lib/perl5/site_perl/5.22/Expect.pm
。
这与您的问题无关。找不到ssh
,而不是/usr/lib/perl5/site_perl/5.22/Expect.pm
。
所以运行Cygwin的setup
程序并安装ssh
。