Aggiorna automaticamente i pacchetti ed elimina le vecchie versioni


12

Sono un po 'compulsivo sull'aggiornamento dei pacchetti per tutti i miei sistemi, quindi mi ritrovo a eseguire list-packages-> U-> x-> y-> ypraticamente ogni giorno per aggiornare i miei pacchetti ed eliminare le vecchie versioni una volta completato l'aggiornamento. Come posso automatizzare questo processo in modo che almeno devo eseguire una sola funzione per aggiornare, compilare ed eliminare i miei pacchetti? O c'è qualche motivo per cui potrei non volerlo fare?

Risposte:


17

Quanto segue ora fa parte del pacchetto Paradox. Invoca e basta paradox-upgrade-packages.


Questo dovrebbe farlo.

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

Controlla quale funzione viene chiamata da ciascuno dei passaggi che hai elencato e gettali all'interno di una funzione interattiva. Normalmente, i (y or n)prompt sarebbero un problema, ma package-menu-executeaccettano convenientemente un NO-QUERYargomento.


Se tutti i pacchetti sono aggiornati, verrà restituito No operations specified.
Chillar e

3

Puoi automatizzare questo con Cask . Funziona per lo sviluppo di pacchetti, ma anche per la configurazione dell'utente. La documentazione fornisce i dettagli per l'impostazione.

Inoltre, Pallet è utile per mantenere aggiornato il file Cask con le modifiche apportate nel buffer * Pacchetti *.


+1 Cask + Pallet sono fantastici (ma non consiglio di usarli su Windows).
rsenna,

Hmm, questo è un problema, perché sono su Windows la maggior parte delle volte.
Ryan,

@rsenna Grazie per l'informazione. Non eseguo alcun sistema Windows, quindi non sapevo che non funzionassero bene.
Kyle Meyer,

In effetti puoi usare Cask + Pallet su Windows, con qualche lavoro. Sono stato in grado di farlo utilizzando Cygwin, ma ricordo che era tutt'altro che facile ...
rsenna il

Cask funzionerà bene in Windows una volta installato Python. Non sono sicuro di Pallet dal momento che non ho testato però. Ma guardando il repo non dovrebbe dipendere da nient'altro che Cask + Emacs.
Jonathan Leech-Pepin,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.