无法从 ppa:cassou/emacs 安装 Emacs 24

无法从 ppa:cassou/emacs 安装 Emacs 24

我按照以下说明在我的计算机上安装 Emacs 24(借自:http://www.mikeyboldt.com/2011/11/30/install-emacs-24-in-ubuntu/):

sudo add-apt-repository ppa:cassou/emacs
sudo apt-get update
sudo apt-get install emacs-snapshot

但我收到以下错误:

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:
emacs-snapshot : Depends: libgnutls26 (>= 2.12.6.1-0) but 2.10.5-1ubuntu3 is to be installed
Depends: libmagickcore4 (>= 8:6.6.9.7) but it is not installable
Depends: libmagickwand4 (>= 8:6.6.9.7) but it is not installable
E: Unable to correct problems, you have held broken packages.

答案1

我昨天也遇到了同样的错误。我尝试安装存储库中的每个 emacs 包,但当它不起作用时,我意识到问题可能是冲突。由于我不需要它emacs23emacs-snapshot起作用,所以我做了以下操作:

卸载所有 Emacs 软件包

在继续之前,通过发出“sudo apt-cache search emacs”查看可以安装哪些 emacs 包。如果您可以牺牲输出中的所有内容,请继续执行以下建议。

sudo apt-get remove `apt-cache search emacs | awk '{print $1}'` --purge

如果输出中出现了您希望保留的其他内容,那么摆脱不想要的内容的快速方法是将命令的输出重定向到文件,编辑该文件,然后使用该文件的内容作为参数apt-get remove

  1. sudo apt-cache search emacs > remove.txt
  2. remove.txt通过删除包的行进行编辑您希望保留。这里的目标是摆脱任何与 emacs 相关的东西,所以将这些包保留在文件中。
  3. sudo cat remove.txt | xargs apt-get remove --purge

由于 emacs-snapshot 无法正确安装,您可能会在此处收到一些错误。如果出现这种情况,请尝试手动卸载这些软件包,方法是先强制安装损坏的软件包,然后删除-清除它们。

sudo apt-get -f install # don't list packages here
sudo apt-get remove emacs-snapshot --purge

autoclean和或许也是一个好主意autoremove

sudo apt-get autoclean
sudo apt-get autoremove

安装 Emacs 24

sudo apt-get install emacs-snapshot

这假设您已正确添加 PPA(我也在使用 cassou PPA)。现在一切似乎都运行良好!

尝试aptitude

自从最初写下这个答案以来,我已经开始使用 来aptitude在命令行上管理我的软件包。我不喜欢通过发布获得的图形界面 (ncurses) sudo aptitude,因此我只在需要解决因尝试不同的桌面环境而遗留下来的依赖关系/冲突时才使用它。大多数时候,我只是将它用作 的替代品apt-get,例如sudo aptitude install [package]

有关的:aptitude 是否仍然被认为优于 apt-get?

答案2

我已经从此 PPA 安装了 Emacs,并检查了依赖项。Ubuntu 11.10 开箱即用,因此您不会遇到任何问题。以下是 emacs-snapshot 的依赖项列表:

emacs-snapshot-bin-common (= 1:20111227-1~ppa1~oneiric1)libasound2 (>> 1.0.24.1), libc6 (>= 2.11), libcairo2 (>= 1.2.4), libdbus-1-3 (>= 1.1.1), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libgif4 (>= 4.1.4), libglib2.0-0 (>= 2.26.0), libgnutls26 (>= 2.9.11-0), libgpm2 (>= 1.20.4), libgtk-3-0 (>= 3.0.0), libice6 (>= 1:1.0.0), libjpeg62 (>= 6b1), libm17n-0 (>= 1.6.1), libmagickcore3 (>= 8:6.6.0.4), libmagickwand3 (>= 8:6.6.0.4), libncurses5 (>= 5.5-5~), libotf0 (>= 0.9.11), libpng12-0 (>= 1.2.13-4), librsvg2-2 (>= 2.14.4), libselinux1 (>= 1.32), libsm6, libtiff4, libtinfo5 (>= 5.6+20070908), libx11-6, libxft2 (>> 2.1.1), libxml2 (>= 2.7.4), libxpm4, libxrender1

您的依赖项中有些东西有问题。我会禁用 PPA,执行 apt-get update 和 upgrade,然后执行 apt-get clean,然后重新启用 PPA 并再次尝试。

答案3

仅供参考,在 Precise Pangolin 12.04 上,可以简单地使用

sudo add-apt-repository ppa:cassou/emacs
sudo apt-get update
sudo apt-get install emacs-snapshot

并且开箱即可工作。

答案4

我认为这可能会有帮助 http://zabambo.com/blog/?p=45

虽然是针对 24.1 的,但是您可以根据需要更改版本。

相关内容