M-x list-packages
インターフェイスを介してパッケージを更新すると、パッケージのインストールが成功した後、古いパッケージを削除するかどうかを尋ねられます。それらが所定の位置に留まるようにそれらを削除しないでください。その後、このインターフェースを介して新しいパッケージを削除できます。
現在のパッケージリストには、〜/ .emacs.d / elpa /ディレクトリツリーにインストールされているmagitの4つのバージョンが表示されています。
magit 20160827.1549 obsolete A Git porcelain inside Emacs
magit 20160907.945 obsolete A Git porcelain inside Emacs
magit 20161001.1454 obsolete A Git porcelain inside Emacs
magit 20161123.617 installed A Git porcelain inside Emacs
キー~
(package-menu-mark-obsolete-for-deletion)を使用して古いバージョンを後でクリーンアップし、古いパッケージをすべてマークできます。特定の古いバージョンを削除するには、その行に移動し、を押しd
て削除のマークを付けます。x
通常のようにアクションを実行するために使用するパッケージをマークした後。
ではEmacsの25マークのためのすべてのパッケージU
pgrade機能は自動的に削除するために、すべての古いパッケージを設定し、インストールした後、確認のためのプロンプトが表示されません。大文字の「D」で始まる行を探す必要があります。これは、マークを外すことができます(次のマクロで最適)
次の行のダッシュの左側にキーまたはコードを入力します。
<F3> - start macro recording
C-s - isearch-forward
C-q - quoted-insert
C-j - linefeed character
D - the mark at the start of the line
<Ret> - stops the isearch on the line with the "D"
u - unmark the package for deletion
<F4> - stops macro recording - the first package is now unmarked
<F4> - executes the macro for the next upgraded package
検索に一致するものがそれ以上ない場合、マクロはベルを鳴らして停止するためC-u 0 <F4>
、削除のマークが付いているすべてのパッケージのマークを解除できます。この後x
、インストールを実行できます。
コメントで変更することを宣言した関数は、最後の(cond)ブロックが無限にループしないように成功する必要があるため、まだ把握できない方法で変更する必要があります。
M-x package-install-file
。el-getやquelpaなど、ELPA / package.el以外のパッケージを管理する他の方法もあります。ELPAなしでも使用できるようです。