So aktualisieren Sie Pakete, die mit use-package installiert wurden
24
Ich verwende use-package, um Pakete zu installieren und zu konfigurieren (die meisten dieser Pakete sind in melpa). Gibt es eine saubere automatisierte Methode, um all diese Pakete auf dem neuesten Stand zu halten?
Wenn nicht, welcher Workflow ist in diesem Fall am besten?
Hinweis: Eine sehr ähnliche Frage hier mit einer Antwort, aber ich wollte eine Klarstellung „Sie werden noch brauchen , um mit der Installation von Updates“. Ich konnte die Antwort nicht zur Klärung kommentieren, da ich nicht genug Ruf habe.
Ich mache das einfach manuell: Führe einen list-packagesTreffer aus U, um verfügbare Upgrades zu markieren, und überprüfe dann, ob es welche gibt, die ich nicht abholen möchte. Dann xaufrüsten. Ich mache das ziemlich regelmäßig und überprüfe oft gleichzeitig, was es Neues gibt. Ich habe ein paar Verbesserungen vorgenommen, um dies zu vereinfachen (siehe unten).
Ich vermute, dass das Upgrade automatisiert werden könnte, aber Sie möchten den Fall in Betracht ziehen, in dem ein Update etwas kaputt macht und Sie müssen es zurücksetzen und dann verhindern, dass Ihr automatisierter Updater es erneut installiert.
Einige Verbesserungen des Paketmenüs:
(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)
Damit kann ich s newnur sehen, welche Pakete neu verfügbar sind. Und nachdem Uich Upgrades markiert habe, kann ich anach einer Liste der aufgetretenen Buffer suchen, die markiert wurden, für den Fall, dass ich Details darüber erfahren möchte, was sich geändert hat usw.
Danke, die Fragen werden in erster Linie beantwortet. aarbeitete für das Herausfinden von markierten Paketen. Bei s installedjedem der anderen drei verbleibenden Status wird jedoch eine leere Liste zurückgegeben.
Jaagrit Sapana
Welche Emacs-Version verwenden Sie?
Glucas
Ich benutze 24.5.1
Jaagrit Sapana
Ach ok Ich habe es überprüft und der package-menu-filterBefehl ist neu in 25.1, so dass dieser Befehl für Sie nicht funktioniert.
Glucas
Ich mache das jeden Montagmorgen
Ricky Nelson
10
Mit können Sie auto-package-updatePakete automatisch aktualisieren.
Bei diesem Setup werden die Paketverwendungsstatistiken mithilfe eines separat festgelegten Github-Tokens zurück an das System gesendet und die Pakete im Hintergrund aktualisiert, wenn Sie den paradox-upgrade-packagesan die Schlüssel Ihrer Wahl gebundenen Befehl manuell ausführen .
Lesen Sie in der Inline-Dokumentation der Variablen paradox-github-tokennach, wie Sie sie einrichten.
a
arbeitete für das Herausfinden von markierten Paketen. Beis installed
jedem der anderen drei verbleibenden Status wird jedoch eine leere Liste zurückgegeben.package-menu-filter
Befehl ist neu in 25.1, so dass dieser Befehl für Sie nicht funktioniert.Mit können Sie
auto-package-update
Pakete automatisch aktualisieren.Von meinem anderen Beitrag kopiert ( /emacs//a/31903/9972 )
Bei diesem Setup werden die Pakete jeden
4
Tag aktualisiert und die alten Pakete werden entfernt.quelle
Versuchen Sie
epm
, den Aktualisierungsprozess sauber zu halten.vgl. https://github.com/xuchunyang/epm
Es kann den Update-Prozess innerhalb des Emacs-Batch-Prozesses ausführen, ohne die normalen Init.el-Einstellungen zu laden.
quelle
Es gibt ein sehr empfohlenes Paket namens paradox, das Paketverwaltungsbefehle erweitert. Lesen Sie mehr unter https://github.com/Malabarba/paradox
Bei diesem Setup werden die Paketverwendungsstatistiken mithilfe eines separat festgelegten Github-Tokens zurück an das System gesendet und die Pakete im Hintergrund aktualisiert, wenn Sie den paradox-upgrade-packagesan die Schlüssel Ihrer Wahl gebundenen Befehl manuell ausführen .
Lesen Sie in der Inline-Dokumentation der Variablen paradox-github-tokennach, wie Sie sie einrichten.
quelle
Einfach Listenpakete eingeben und UMSCHALT + U drücken. Es markiert alle installierten Pakete für ein Update.
quelle