我正在尝试在Perl中使用SFTP模块。我的代码看起来像这样:
#!/usr/local/bin/perl5
use lib "/some_path/Net-SFTP-0.10/lib";
use lib "/some_path/Net-SSH-Perl-1.25/lib";
use lib "/some_path/Math-Pari-2.010709";
use Net::SFTP;
运行时出现此错误:
Can't locate Math/Pari.pm in @INC
Math-Pari-2.010709目录包含Pari.pm.我没有权限创建一个Math目录并将Pari.pm文件放在那里。我该怎么做才能解决这个问题?
答案 0 :(得分:2)
我使用local::lib
并将$PERL5LIB
设置为$HOME/perl5
,因此构建和安装缺少的模块非常简单:
% cpanm Math::Pari
--> Working on Math::Pari
Fetching http://www.cpan.org/authors/id/I/IL/ILYAZ/modules/Math-Pari-2.01080605.tar.gz ... OK
Configuring Math-Pari-2.01080605 ... OK
Building and testing Math-Pari-2.01080605 ...
Successfully installed Math-Pari-2.01080605
1 distribution installed
您需要按照App::cpanminus
上的说明安装https://github.com/miyagawa/cpanminus,这些说明基本上是:
curl -L http://cpanmin.us | perl - App::cpanminus
之后cpanm
中的$PATH
(此处位于$HOME/perl5/bin
中)在您自己的 $ HOME 目录中安装模块是轻而易举的。
答案 1 :(得分:2)
发表评论后,我最终使用了Net::SFTP::Foreign。完成任务就足够了,更少的依赖关系使我的生活变得更轻松。谢谢你的帮助!