Emacs使用package-install无法安装doom-modeline包怎么办
问题核心原因
你配置里的package-archives语法存在错误:add-to-list作用是向列表中添加单个元素,你将三个源打包为一个子列表传入,导致Emacs无法正确识别MELPA源,而doom-modeline是托管在MELPA源的包,自然无法检索到。
解决步骤
- 第一步:修正init.el中的软件源配置
将原有错误的源配置:
(add-to-list 'package-archives '(("melpa" ."https://melpa.org/packages/") ("elpa" . "https://elpa.gnu.org/packages/") ("org" . "https://orgmode.org/elpa/")))
替换为以下任意一种正确写法即可:
写法1(逐个添加源,推荐):
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) (add-to-list 'package-archives '("elpa" . "https://elpa.gnu.org/packages/") t) (add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t)
写法2(直接给源列表赋值):
(setq package-archives '(("melpa" . "https://melpa.org/packages/") ("elpa" . "https://elpa.gnu.org/packages/") ("org" . "https://orgmode.org/elpa/")))
- 第二步:删除冗余配置
你现有配置中重复初始化了两次use-package,保留以下最简配置即可,多余的重复部分直接删除:
(require 'package) (setq package-enable-at-startup nil) ;; 此处放你上面修正后的软件源配置 (unless package--initialized (package-initialize)) (unless package-archive-contents (package-refresh-contents)) (unless (package-installed-p 'use-package) (package-install 'use-package)) (eval-when-compile (require 'use-package)) (setq use-package-always-ensure t)
第三步:刷新软件源缓存
重启Emacs,或者手动执行命令M-x package-refresh-contents RET刷新源缓存。第四步:安装doom-modeline
重新执行安装命令M-x package-install RET doom-modeline RET即可正常检索到包完成安装。如果习惯用use-package管理包,也可以直接在init.el中添加(use-package doom-modeline),重启Emacs会自动完成安装。
内容的提问来源于stack exchange,提问作者AhmedSat
相关产品推荐
相关产品推荐

