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


8

我按照以下说明在我的机器上安装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
试试sudo apt-get install -f
jrg 2011年

没运气。运行sudo apt-get install -f然后sudo apt-get autoremove之后,我仍然遇到相同的错误。
凯文·阿尔布雷希特

我正面临着同样的问题。
GeneralBecos

我只是在更新后再次尝试,现在就可以了!
GeneralBecos

Answers:


5

我昨天有同样的错误。我尝试在存储库中安装每个emacs软件包,但当该软件包不起作用时,我发现可能是问题所在。因为我不需要emacs23是否emacs-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

这可能也是一个好主意,autocleanautoremove

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]

相关:智能仍然被认为比apt-get优越吗?


我不会在12.04 sudo apt-get remove apt-cache search emacs | awk '{print $1}'--purge 上执行此操作,但我想删除一半的ubuntu banshee unity geany和整个291mb的ubuntu。
sayth 2012年

我同意不要盲目的做。我已经编辑了答案,建议apt-cache search emacs在继续之前检查的输出。对我来说,这是解决问题的唯一解决方案。我不记得必须重新安装任何东西,但是如果您出错了,应该可以使用软件包管理器轻松进行更正。
jrhorn424 2012年

@ jrhorn424无法执行此命令“ sudo apt-get remove apt-cache search emacs | awk '{print $1}'--purge”。
传说

2

我已经从此PPA安装了Emacs,并检查了相关性。Ubuntu 11.10可以立即使用此PPA,因此您不会有任何问题。以下是emacs快照的依赖项列表:

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更新和升级,然后进行apt-get clean,然后再次重新启用PPA并尝试。


1

仅供参考,在Precise Pangolin 12.04上,只需完成以下操作即可

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

它开箱即用。


“开箱即用”是指全新安装吗?是emacs已经存在的,当你安装emacs-snapshot
jrhorn424

抱歉,我的意思是:一旦我给出了这些命令,它就可以在没有任何其他干预的情况下运行。
leonard vertighel

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.