package-refresh-contents能否自动执行?

有时候usage package 自动安装的时候会遇到找不到包的情况。需要执行: M-x package-refresh-contents

想问一下,这个动作能配置成在自动安装包之前自动执行么?

a) 无论过时与否,安装前必更新?
b) 出错再更新,然后重试安装?

出错之后尝试一下。可以减少人工操作这一步。因为人执行这一步,并不是所有人都知道。我搜了才发现需要refresh。。。

我曾经尝试过加上自动刷新,但是这个跟网络相关,有时很慢很慢。可以有几个方案:

  1. 加个定时任务刷新。不过在间隔时间内还是有几率失败。
  2. 记录一个更新时间,安装之前检查时间,超过一定阈值就强制刷新。同样的问题,阈值范围内仍有小概率失败。
  3. 写个更新包的函数强制更新。可以参考 .emacs.d/init-funcs.el at e8c66b35ff5e2bd86e11ffd856e42cd1e3ebfaa4 · seagle0128/.emacs.d · GitHub
1 个赞

我再找找。实在不行就忍了。反正也用不了几次。

用 straight 代替 package 就没有这个问题了

Emacs 的提示应该再友好一些,而不是抛个 “Not found” 错误就完了。像很多命令都会提示用户可能打错字了,或者需要更新等等。

3 个赞