パッケージを自動的に更新し、古いバージョンを削除する


12

私はすべてのシステムのパッケージを更新することに少し強引なので、更新が完了したらすぐにパッケージを更新し、古いバージョンを削除するために毎日list-packages-> U-> x-> y-> yを実行しています。パッケージを更新、コンパイル、および削除するために少なくとも1つの関数を実行するだけで済むように、このプロセスを自動化するにはどうすればよいですか?それとも、それをしたくない理由がありますか?

回答:


17

以下はParadoxパッケージの一部になりました。呼び出すだけparadox-upgrade-packagesです。


これでうまくいくはずです。

(defun endless/upgrade ()
  "Upgrade all packages, no questions asked."
  (interactive)
  (save-window-excursion
    (list-packages)
    (package-menu-mark-upgrades)
    (package-menu-execute 'no-query)))

列挙した各ステップによってどの関数が呼び出されるかを確認し、それらを対話型関数内にスローします。通常、(y or n)プロンプトは問題になりますが、package-menu-execute便利なNO-QUERY引数を取ります。


すべてのパッケージが最新の場合、が返されNo operations specifiedます。
ChillarAnand

3

Caskでこれを自動化できます。これはパッケージ開発に有効ですが、ユーザー設定にも有効です。ドキュメントには、これを設定するための詳細を提供します。

また、パレットは、* Packages *バッファーで行った変更でCaskファイルを最新の状態に保つのに役立ちます。


+1 Cask + Palletは優れています(ただし、Windowsでの使用はお勧めしません)。
rsenna 14

うーん、それは問題です。私はほとんどの場合Windowsにいるからです。
ライアン14

@rsenna情報をありがとう。私はWindowsシステムを実行していないので、うまく動作しないことに気づきませんでした。
カイルマイヤー14

実際、WindowsではCask + Palletを使用できます、いくつかの作業が必要です。私はCygwinを使用してそれを達成できましたが、私はそれがあった覚えてはるかに簡単...から
rsenna

Pythonをインストールすると、WindowsでCaskが正常に動作します。まだテストしていないので、パレットについてはわかりません。しかし、リポジトリを見ると、Cask + Emacs以外に依存するべきではありません。
ジョナサンリーチペピン

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.