Jak zaktualizować pakiety zainstalowane za pomocą pakietu use
24
Używam use-packagedo instalowania i konfigurowania pakietów (większość tych pakietów jest w Melpa). Czy istnieje czysty automatyczny sposób aktualizowania wszystkich tych pakietów?
Jeśli nie, jaki jest najlepszy przepływ pracy w tym przypadku?
Uwaga: Bardzo podobne pytanie tutaj z odpowiedzią, ale chciałem się wyjaśnień w sprawie „Będziesz nadal muszą radzić sobie z instalowaniem aktualizacji”. Nie mogłem skomentować odpowiedzi w celu wyjaśnienia, ponieważ nie mam wystarczającej reputacji.
Po prostu robię to ręcznie: list-packagesnaciśnij hit, Uaby zaznaczyć dostępne ulepszenia, a następnie sprawdź, czy są jakieś, których nie chcę odbierać. Następnie, xaby zaktualizować. Robię to dość regularnie i często sprawdzam, co nowego w tym samym czasie. Mam kilka poprawek, aby to uprościć (patrz poniżej).
Podejrzewam, że aktualizacja może być zautomatyzowana, ale chcesz wziąć pod uwagę przypadek, w którym aktualizacja coś psuje i musisz ją wycofać, a następnie uniemożliwić automatycznej aktualizacji przez ponowne zainstalowanie.
Niektóre poprawki menu pakietu:
(defun package-menu-find-marks ()
"Find packages marked for action in *Packages*."
(interactive)
(occur "^[A-Z]"))
;; Only in Emacs 25.1+
(defun package-menu-filter-by-status (status)
"Filter the *Packages* buffer by status."
(interactive
(list (completing-read
"Status: " '("new" "installed" "dependency" "obsolete"))))
(package-menu-filter (concat "status:" status)))
(define-key package-menu-mode-map "s" #'package-menu-filter-by-status)
(define-key package-menu-mode-map "a" #'package-menu-find-marks)
Dzięki temu mogę s newzobaczyć, które pakiety są nowo dostępne. A po naciśnięciu, Uaby zaznaczyć ulepszenia, mogę znaleźć alistę buforów tych, które zostały oznaczone, na wypadek, gdyby chciałem zagłębić się w szczegóły tego, co się zmieniło itp.
Dzięki, na pytania udzielane są przede wszystkim odpowiedzi. apracował nad znalezieniem oznaczonych paczek. Jednak s installedkażdy z pozostałych trzech statusów zwraca pustą listę.
Jaagrit Sapana
Jakiej wersji Emacsa używasz?
glucas
Używam 24.5.1
Jaagrit Sapana
Ach ok. Sprawdziłem, a package-menu-filterpolecenie jest nowe w 25.1, więc to polecenie nie będzie dla ciebie działać.
Istnieje wysoce zalecany pakiet o nazwie paradoks, który rozszerza polecenia zarządzania pakietami. Czytaj więcej na https://github.com/Malabarba/paradox
Ta konfiguracja przekazuje statystyki użytkowania pakietu z powrotem do systemu za pomocą oddzielnie ustawionego tokena github i aktualizuje pakiety w tle, gdy ręcznie uruchomisz polecenie paradox-upgrade-packagespowiązane z wybranymi kluczami.
Przeczytaj dokumentację wbudowaną zmiennej, paradox-github-tokenw jaki sposób ją skonfigurować.
a
pracował nad znalezieniem oznaczonych paczek. Jednaks installed
każdy z pozostałych trzech statusów zwraca pustą listę.package-menu-filter
polecenie jest nowe w 25.1, więc to polecenie nie będzie dla ciebie działać.Możesz użyć
auto-package-update
do automatycznej aktualizacji pakietów.Skopiowano z mojego innego postu ( /emacs//a/31903/9972 )
Dzięki tej konfiguracji pakiety będą aktualizowane codziennie
4
, a stare pakiety będą usuwane.źródło
Staraj
epm
się utrzymywać proces aktualizacji w czystości.por. https://github.com/xuchunyang/epm
Może uruchomić proces aktualizacji w ramach procesu wsadowego emacs, bez ładowania normalnych ustawień init.el.
źródło
Istnieje wysoce zalecany pakiet o nazwie paradoks, który rozszerza polecenia zarządzania pakietami. Czytaj więcej na https://github.com/Malabarba/paradox
Ta konfiguracja przekazuje statystyki użytkowania pakietu z powrotem do systemu za pomocą oddzielnie ustawionego tokena github i aktualizuje pakiety w tle, gdy ręcznie uruchomisz polecenie paradox-upgrade-packagespowiązane z wybranymi kluczami.
Przeczytaj dokumentację wbudowaną zmiennej, paradox-github-tokenw jaki sposób ją skonfigurować.
źródło
Wystarczy wpisać listę pakietów i nacisnąć SHIFT + U. Oznacze wszystkie zainstalowane pakiety do aktualizacji.
źródło