我在我的 Linux Ubuntu 机器上使用 perl,v5.10.1。我尝试Net::SFTP
通过提示安装模块,cpan
但它在过去 2 天内给出了以下错误。
警告:
Warning: no success downloading
'/root/.cpan/sources/authors/01mailrc.txt.gz.tmp19821'. Giving up on
it. at /usr/share/perl5/CPAN/Index.pm line 225
错误:
Connecting to www.perl.org|207.171.7.51|:80... failed: Connection
timed out.
Connecting to www.perl.org|207.171.7.41|:80... failed: Connection
timed out.
然后我通过 CPAN 站点通过 tar 文件方法安装了它。现在,当我运行下面的示例脚本时,它会向我抛出错误。
脚本:
use Net::SFTP;
my $host = "169.144.106.231";
my %args = (
user => "root",
password => "******" );
my $sftp = Net::SFTP->new($host, %args);
错误:
Can't locate Net/SSH/Perl/Buffer.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/share/perl5/Net/SFTP/Buffer.pm line 6.
BEGIN failed--compilation aborted at /usr/local/share/perl5/Net/SFTP/Buffer.pm line 6.
Compilation failed in require at /usr/local/share/perl5/Net/SFTP/Attributes.pm line 7.
BEGIN failed--compilation aborted at /usr/local/share/perl5/Net/SFTP/Attributes.pm line 7.
Compilation failed in require at /usr/local/share/perl5/Net/SFTP.pm line 8.
BEGIN failed--compilation aborted at /usr/local/share/perl5/Net/SFTP.pm line 8.
Compilation failed in require at ankur_sftp.pl line 6.
BEGIN failed--compilation aborted at ankur_sftp.pl line 6.
我没有Net/SSH/Perl/Buffer.pm
安装,很少有像这样Buffer.pm
的模块位于其他路径。
/root/Net-SFTP-0.10/blib/lib/Net/SFTP/Buffer.pm
/root/Net-SFTP-0.10/lib/Net/SFTP/Buffer.pm
我的@INC
包含
/usr/local/lib64/perl5
/usr/local/share/perl5
/usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl
usr/lib64/perl5
/usr/share/perl5
有人可以在这里帮忙吗?为什么cpan
提示方法会引发该错误?接下来是 tar 文件方法,如果存在模块依赖性问题,那么如何使用 CPAN tar 文件方法解决它?还有如何在正确的路径上安装模块,因为我不想在@INC
脚本开头的路径中添加所有必需的模块路径。我是这里的root用户。