it-swarm-ja.com

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.
8
Kevin Albrecht

昨日も同じエラーが発生しました。私はすべての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を使用することに移行しました。 Sudo aptitudeを発行することで得られるグラフィカルインターフェイス(ncurses)が好きではないので、異なるデスクトップ環境で実験して残った依存関係/競合を解決する必要がある場合にのみ使用します。ほとんどの場合、apt-getのように、Sudo aptitude install [package]のドロップイン置換として使用します。

関連: aptitudeはapt-getよりも優れていると考えられますか?

5
jrhorn424

このPPAからEmacsをインストールし、依存関係を確認しました。 Ubuntu 11.10はこのPPAをそのまま使用できるため、問題は発生しません。 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の更新とアップグレードを行ってからapt-get cleanを実行し、PPAを再度有効にしてもう一度試してください。

2
Anmar Oueja

正確な情報を得るために、Precise Pangolin 12.04では、次のように簡単に実行できます。

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

すぐに使用できます。

1

役に立つかもしれません http://zabambo.com/blog/?p=45

24.1用ですが、必要に応じてバージョンを変更できます。

0
STATICOR