次の指示に従って、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.
昨日も同じエラーが発生しました。私はすべてのemacsパッケージをリポジトリにインストールしようとしましたが、それがうまくいかないときは、おそらく競合が問題であると思いました。 emacs23
が機能する場合、emacs-snapshot
は必要なかったので、次のことを行いました。
先に進む前に、「Sudo apt-cache search emacs」を発行して、どのemacsパッケージがインストールされる可能性があるかを見てください。出力のすべてを犠牲にすることができる場合は、次の提案を進めてください。
Sudo apt-get remove `apt-cache search emacs | awk '{print $1}'` --purge
保持したい出力に他の何かが表示された場合、不要なものを取り除く簡単な方法は、コマンドの出力をファイルにリダイレクトし、そのファイルを編集してから、 apt-get remove
への引数のファイル。
Sudo apt-cache search emacs > remove.txt
remove.txt
を編集して、保持するパッケージの行を削除します。ここでの目標は、emacsに関連するものをすべて取り除くことなので、それらのパッケージをファイルに残します。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
Sudo apt-get install emacs-snapshot
これは、PPAが正しく追加されていることを前提としています(私もcassou PPAを使用しています)。すべてがうまく動作するようになりました!
aptitude
を試してくださいもともとこの回答を書いてから、コマンドラインでパッケージを管理するためにaptitude
を使用することに移行しました。 Sudo aptitude
を発行することで得られるグラフィカルインターフェイス(ncurses)が好きではないので、異なるデスクトップ環境で実験して残った依存関係/競合を解決する必要がある場合にのみ使用します。ほとんどの場合、apt-get
のように、Sudo aptitude install [package]
のドロップイン置換として使用します。
この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を再度有効にしてもう一度試してください。
正確な情報を得るために、Precise Pangolin 12.04では、次のように簡単に実行できます。
Sudo add-apt-repository ppa:cassou/emacs
Sudo apt-get update
Sudo apt-get install emacs-snapshot
すぐに使用できます。
役に立つかもしれません http://zabambo.com/blog/?p=45
24.1用ですが、必要に応じてバージョンを変更できます。