Automatycznie aktualizuj pakiety i usuwaj stare wersje


12

Jestem trochę kompulsywny, jeśli chodzi o aktualizowanie pakietów dla wszystkich moich systemów, więc prawie codziennie uruchamiam list-packages-> U-> x-> y-> yaktualizację moich pakietów i usuwanie starych wersji po zakończeniu aktualizacji. Jak mogę zautomatyzować ten proces, aby przynajmniej musiałem uruchomić tylko jedną funkcję, aby zaktualizować, skompilować i usunąć moje pakiety? Czy jest jakiś powód, dla którego mógłbym tego nie chcieć?

Odpowiedzi:


17

Następujące elementy są teraz częścią pakietu Paradox. Po prostu wywołaj paradox-upgrade-packages.


To powinno to zrobić.

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

Wystarczy sprawdzić, która funkcja jest wywoływana przez każdy z wymienionych kroków, i wrzucić je do funkcji interaktywnej. Zwykle (y or n)podpowiedzi byłyby problemem, ale package-menu-executewygodnie przyjmować NO-QUERYargument.


Jeśli wszystkie pakiety są aktualne, wróci No operations specified.
ChillarAnand

3

Możesz to zautomatyzować za pomocą Cask . Działa to przy tworzeniu pakietów, ale także przy konfiguracji użytkownika. Dokumentacja zawiera szczegóły do ustalenia tego.

Ponadto Pallet jest przydatny do aktualizowania pliku Cask ze zmianami wprowadzanymi w buforze * Packages *.


+1 Beczka + Paleta są świetne (ale nie polecam ich używać w systemie Windows).
rsenna

Hmm, to jest problem, ponieważ przez większość czasu korzystam z systemu Windows.
Ryan

@rsenna Dzięki za informację. Nie uruchamiam żadnych systemów Windows, więc nie wiedziałem, że nie grały ładnie.
Kyle Meyer,

W rzeczywistości można używać Cask + Pallet w systemie Windows, z pewną dozą pracy. Udało mi się to osiągnąć za pomocą Cygwin, ale pamiętam, że był daleko od łatwej ...
rsenna

Cask będzie działał dobrze w systemie Windows po zainstalowaniu Pythona. Nie jestem pewien co do palet, ponieważ nie testowałem. Ale patrząc na repo, nie powinno to zależeć od niczego innego niż Cask + Emacs.
Jonathan Leech-Pepin

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.