Answers:
我只是手动执行此操作:运行list-packages
hit U
标记可用的升级,然后查看以确定是否有我不想提取的内容。然后x
升级。我经常这样做,并且经常同时检查新功能。我做了一些调整以简化此操作(请参见下文)。
我怀疑升级可以自动进行,但是您确实要考虑一种情况,即更新破坏了某些内容,您需要先将其撤消,然后阻止自动更新程序再次安装它。
一些软件包菜单的调整:
(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)
有了这个,我就可以s new
用来看看哪些软件包是最新可用的。在点击U
标记升级后,我可以点击标记a
的出现缓冲区列表,以防我想深入了解更改的细节等。
package-menu-filter
命令是25.1中的新增功能,因此该命令对您不起作用。
您可以auto-package-update
用来自动更新软件包。
从我的其他帖子中复制(/emacs//a/31903/9972)
(use-package auto-package-update
:ensure t
:config
(setq auto-package-update-delete-old-versions t
auto-package-update-interval 4)
(auto-package-update-maybe))
使用该设置,软件包将每天更新4
,而旧软件包将被删除。
强烈建议使用一种名为paradox的软件包,该软件包可以扩展软件包管理命令。从https://github.com/Malabarba/paradox阅读更多
(use-package paradox
:init
(setq paradox-github-token t)
(setq paradox-execute-asynchronously t)
(setq paradox-automatically-star t))
此设置使用单独设置的github令牌将软件包使用情况统计信息反馈给系统,并在您手动运行paradox-upgrade-packages绑定到所选键的命令时在后台更新软件包。
阅读有关变量的内联文档,以paradox-github-token了解如何进行设置。
a
致力于找出标记的包裹。然而,s installed
或者其余三个状态中的任何一个返回空列表。