我有一个 Ubuntu 12.04 服务器版本,我通过 ssh 进入。
我正在此服务器上运行 Perl 脚本,但加载时失败
'use LWP::UserAgent;' with error message:
Can't locate LWP/UserAgent.pm in @INC (@INC contains: /home/hermann/scripts/modules/ /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at 1_standalone line 5.
BEGIN failed--compilation aborted at 1_standalone line 5.
因此,为了解决这个问题,我尝试安装 LWP::UserAgent,我被告知方法是:sudo apt-get install libwww-perl
但是当我运行该命令时出现以下错误:
Failed to fetch http://is.archive.ubuntu.com/ubuntu/pool/main/libf/libfont-afm-perl/libfont-afm-perl_1.20-1_all.deb Size mismatch
Failed to fetch http://is.archive.ubuntu.com/ubuntu/pool/main/libh/libhtml-tagset-perl/libhtml-tagset-perl_3.20-2_all.deb Size mismatch
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
现在我尝试执行 sudo apt-get update,它似乎运行良好但没有任何变化。我还执行了“sudo apt-get install libwww-perl --fix-missing”,但也失败了。
如何安装 libwww-perl?
答案1
首先,我强烈建议不要直接使用“perl 方式”安装,这只会让事情变得更糟。在 Ubuntu 中你不需要这些。libwww-perl 是标准的 Ubuntu 软件包。
因为这样不管用。你应该先清理一下似乎有问题的安装。首先,尝试像这样清理你的软件包安装:
sudo apt-get install -f
sudo apt-get update --fix-missing
并且只有当您没有收到错误时,才继续安装 libwwww-perl,使用:
sudo apt-get install libwww-perl
还:
您似乎有一个非常不寻常的(非标准)perl 搜索库的目录列表。例如,在寻找库的地方不应该有 /etc/perl,而在 Ubuntu 上您不需要以 /usr/local 开头的任何内容。
要检查包是否已安装,您可以检查以下输出:
dpkg-query -S libwww-perl
检查你的环境是否存在错误的强制 perl 路径:
env | grep PERL
如果这给出任何输出,我会在运行 perl 之前将其从环境中删除:查看您的启动文件(〜/ .bashrc 特别是结束注释这些非标准设置)
祝你好运!
答案2
尝试更换下载服务器。 软件源 -> Ubuntu 软件 -> 下载自:从列表中选择最近的地理位置。
或者
尝试 Perl 安装方式
perl -MCPAN -e 'install Bundle::LWP'
或者
wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-6.04.tar.gz
tar xzf libwww-perl-6.04.tar.gz
cd libwww-perl-6.04
perl Makefile.PL
make
sudo make install
(我的下载源选择了一个印度服务器来下载文件http://perlmirror.indialinks.com/authors/id/G/GA/GAAS/libwww-perl-6.04.tar.gz)
如果你正在主目录中下载 LWP 模块,那么不要忘记将路径添加到你的 perl@INC