我有一个 ssh 进入的 Ubuntu 12.04 服务器版本。
我在这台服务器上运行 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.
Run Code Online (Sandbox Code Playgroud)
所以为了解决这个问题,我正在尝试安装 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?
Run Code Online (Sandbox Code Playgroud)
现在我尝试执行 sudo apt-get update,它似乎运行良好但没有任何改变。而且我也做了'sudo apt-get install libwww-perl --fix-missing',这也失败了。
如何安装 libwww-perl?
首先,我强烈建议不要直接“perl 方式”安装,它们只会让事情变得更糟。在 Ubuntu 中你不需要这些。libwww-perl 作为标准的 Ubuntu 包存在。
因为这行不通。您应该首先清理似乎已损坏的安装。首先,尝试像这样清理你的包安装:
sudo apt-get install -f
sudo apt-get update --fix-missing
Run Code Online (Sandbox Code Playgroud)
并且只有当您没有收到错误时,才能继续安装 libwwww-perl,使用:
sudo apt-get install libwww-perl
Run Code Online (Sandbox Code Playgroud)
还:
你似乎有一个非常不寻常的(非标准)目录列表 perl 正在搜索库。例如,在寻找库的地方不应该有 /etc/perl,而在 Ubuntu 上你不需要任何以 /usr/local 开头的内容。
要检查软件包是否已安装,您可以检查以下输出:
dpkg-query -S libwww-perl
Run Code Online (Sandbox Code Playgroud)
检查您的 env 是否有错误的强制 perl 路径:
env | grep PERL
Run Code Online (Sandbox Code Playgroud)
如果这给出任何输出,我会在运行 perl 之前将其从环境中删除:查看您的启动文件(特别是 ~/.bashrc 结束注释这些非标准设置)
祝你好运!
| 归档时间: |
|
| 查看次数: |
29292 次 |
| 最近记录: |