Emacs中如何查找use-package依赖,解决:general、:ghook关键字未识别报错
报错原因
:general和:ghook均不属于use-package的内置关键字,是第三方扩展提供的额外功能,未提前安装对应扩展时就会触发未识别报错。
解决方法
- 你需要提前安装两个依赖包:
general.el(提供:general关键字,用于简化键位绑定配置)、ghook.el(提供:ghook关键字,用于简化钩子配置)。如果你使用straight.el作为包管理工具,直接在所有使用了上述两个关键字的use-package声明之前,添加如下配置即可:
(straight-use-package 'general) (straight-use-package 'ghook) ;; 开启general对use-package的关键字支持 (general-use-package-extensions) ;; 加载ghook模块启用对应关键字支持 (require 'ghook)
- 严格保证上述配置的加载顺序,必须放在所有用到
:general、:ghook的代码之前,否则仍会报错。 - 如果安装ghook后还是无法识别
:ghook关键字,可以直接把所有配置里的:ghook替换为use-package原生支持的:hook,二者语法兼容,无需额外依赖即可正常运行。 centaur-tabs加载失败属于连锁报错,修复关键字问题后如果仍有报错,再单独检查centaur-tabs的安装配置是否正确即可。
内容的提问来源于stack exchange,提问作者heavyblack1
相关产品推荐
相关产品推荐

