You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何导入GitHub MELPA获取器?解决Emacs中github变量未定义报错

解决Emacs中「Symbol's value as variable is void: github」错误

问题原因

你最后一行的配置代码(idris-mode :repo "idris-hackers/idris-mode" :fetcher github :files (:defaults "logo-small.png"))用的是Quelpa(或配合use-package扩展)的包安装语法,而原生Emacs的package.el并不认识:fetcher github里的github变量——这个变量是Quelpa这类第三方包管理器定义的,直接运行就会触发"Symbol's value as variable is void"错误。

解决方案

方案1:用原生package.el安装(最简单)

你已经在配置里把idris-mode加入了package-selected-packages,且配置了MELPA Stable源,完全不需要额外的GitHub获取配置:

  • 删除最后那行报错的配置代码
  • 重启Emacs,或者在Emacs内执行命令M-x package-install-selected-packages,等待idris-mode安装完成即可

方案2:用Quelpa从GitHub直接安装(适合需要最新源码的场景)

如果你确实需要从GitHub仓库拉取最新版的idris-mode,得先安装Quelpa包管理器,让Emacs识别github这类获取器变量:

  1. 在.emacs文件开头添加Quelpa的自安装代码:
    (unless (package-installed-p 'quelpa)
      (with-temp-buffer
        (url-insert-file-contents "https://raw.githubusercontent.com/quelpa/quelpa/master/quelpa.el")
        (eval-buffer)
        (quelpa-self-upgrade)))
    
  2. 把原来报错的代码替换为Quelpa的安装语法:
    (quelpa '(idris-mode :repo "idris-hackers/idris-mode" :fetcher github :files (:defaults "logo-small.png")))
    
  3. 重启Emacs,Quelpa会自动从GitHub拉取并安装idris-mode

额外小提示

你的配置里重复开启了global-flycheck-mode:既有(global-flycheck-mode)又有(add-hook 'after-init-hook #'global-flycheck-mode),建议保留后者(延迟到初始化完成后开启更稳妥),删掉前者避免重复执行。

内容的提问来源于stack exchange,提问作者bbarker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:04:35