HOME

升级 Emacs Package 然后重启 Emacs

Table of Contents

emacs-helm/helm Wiki 中提到 Package 升级之后 Emacs 需要重启才能生效:

Note: always restart Emacs after reinstalling Helm (or other packages) for the updates to take effect.

1 手动

  1. M-x list-packages 然后等待刷新完成
  2. U (package-menu-mark-upgrades)
  3. x (package-menu-execute) 再输入 y 确认,然后等待升级完成
  4. 关闭 Emacs
  5. 打开 Emacs

手动操作是交互式的,较为麻烦。

2 自动

Emacs 没有自带升级 Package 和重启的功能,但第三方 Package 有,首先安装它们:

(use-package package-utils :ensure t :defer t)
(use-package restart-emacs :ensure t :defer t)

之后可以使用命令

  • package-utils-upgrade-all 升级 Package
  • restart-emacs 重启 Emacs

依次执行这两个命令还是麻烦,需要用一步到位的方法,这样的方法也有不少,适用于不同场景

2.1 Eshell

在 Eshell 中执行:

$ package-utils-upgrade-all && restart-emacs

如果不想打开 Eshell 的话,还是可以运行 Eshell 命令

M-x eshell-command RET package-utils-upgrade-all && restart-emacs RET

因为 Eshell 中的 && 和一般的 Shell 一样。

2.2 Emacs 命令

(defun chunyang-upgrade-packages-then-restart-emacs ()
  (interactive)
  (package-utils-upgrade-all)
  (restart-emacs))

然后用

M-x chunyang-upgrade-packages-then-restart-emacs RET

2.3 Emacsclient

$ emacsclient --eval (chunyang-upgrade-packages-then-restart-emacs)

2.4 终端 Shell

用下面的命令可以开启 Emacs 并确保其中的 Package 都是最新版本

$ emacs -f chunyang-upgrade-packages-then-restart-emacs

Created: 2017-03-14 | Modified: 2017-03-14 | Org source | History

Author: Chunyang Xu <mail@xuchunyang.me>

Proudly Powered by Emacs & Org mode

Validate XHTML 1.0