0

我只是尝试在 Ubuntu 上使用 apt 安装 libperl-dev,但出现以下错误:

user@comp-2:~$ sudo apt-get install libperl-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libperl-dev : Depends: perl (= 5.14.2-6ubuntu2) but 5.14.2-6ubuntu2.1 is to be installed
               Depends: libperl5.14 (= 5.14.2-6ubuntu2) but 5.14.2-6ubuntu2.1 is to be installed
E: Unable to correct problems, you have held broken packages.

我试图用谷歌搜索这个问题,但没有找到清楚的东西。
有人可以解释一下这是什么意思:“取决于:libperl5.14 (= 5.14.2-6ubuntu2) 但要安装 5.14.2-6ubuntu2.1”,以及如何解决?
谢谢你的前面。

4

2 回答 2

1

基本上,错误消息告诉您所有三个软件包(libperl-dev、perl 和 libperl5.14)需要具有完全相同的版本(5.14.2-6ubuntu2 或 5.14.2-6ubuntu2.1),但您正在尝试混合他们俩。我不能告诉你为什么会这样(也许你正试图混合来自不同发行版的包,比如 debian testing/unstable),但如果你使用 aptitude,你可以在交互式依赖求解器中检查情况(也许它甚至会自动为您找到可接受的解决方案)。

因此,请使用 aptitude 并检查软件包的版本,包括您尝试安装的软件包和您已经拥有的软件包。

于 2012-09-27T09:57:28.487 回答
0

没有直接回答您的问题,而是避免它发生的方法:

您不应该过多地摆弄您的系统 Perl。因为很多系统包依赖于系统 Perl。如果你搞砸了,你的系统可能会遇到麻烦。

如果您想灵活地安装 Perl,请始终使用 Perlbrew!访问这个站点,很容易:http : //perlbrew.pl/ Perlbrew 管理不同的 Perls,并且所有内容都安全地保存在您的 $home 中。(Perlbrew 也在 CPAN 上或以 .deb 包的形式提供,但使用上面的网站,它更节省)

如果然后将此行添加到您的 .bashrc

# Perl is always from perlbrew!
source ~/perl5/perlbrew/etc/bashrc

您可以在终端上使用 perlbrew 命令在 Perl 安装之间轻松切换。

也许这对你有帮助?问候

于 2012-09-27T09:45:29.823 回答