【问题标题】:Emacs (24.4.1) will not open installed packageEmacs (24.4.1) 不会打开已安装的包
【发布时间】:2015-07-21 10:02:07
【问题描述】:

我是 Emacs 新手,在尝试安装新的 Emacs 包时遇到问题。包裹是https://github.com/tlh/workgroups.el。 我按照随附的 README.md 文件中的文件安装说明进行操作:我将“workgroup.el”的内容复制到一个新的同名文本文件中,并将其保存到与我的 init.el 文件相同的目录中(“Put workgroups .el 在你的 Emacs 加载路径的某处”),并将 (require 'workgroups) 添加到我的 init.el 文件中(“将此行添加到您的 .emacs 文件中:(require 'workgroups)”)。

但是,当保存和关闭 Emacs,然后打开我的 init 文件时,我得到了 以下错误信息

“文件错误:无法打开加载文件,没有这样的文件或目录,工作组”

为什么 Emacs 不能识别新包?

在此先感谢您的帮助:)

【问题讨论】:

  • 首先确保它在load--path 上,键入C-h v,然后键入load-path。是你把workgroups.el放在列表里的目录吗?
  • 感谢您的建议。我已将workgroups.el 放在我的默认目录中,由(setq default-directory "C:/Users/espend/AppData/Roaming/.emacs.d/") 设置。当输入C-h v load-path 时,我得到了这个路径:"c:/Users/espend/AppData/Roaming/.emacs.d/elpa/ace-window-0.8.1/",其中包含我的默认目录。所以, workgroups.el 是否正确放置为由(require workgroups 激活)`?
  • 我不确定我是否正确理解了您关于default-path 的问题,但default-path 只是一个缓冲区特定变量。重要的是load-path 列表包含具有workgroups.el 的目录。当您查看 load-path 的值时,是否列出了 C:/Users/espend/AppData/Roaming/.emacs.d(这是您放置 workgroups.el 的位置,对吗?)?这里有更多信息LoadPath
  • 否,C:/Users/espend/AppData/Roaming/.emacs.d 未明确列出,仅此目录下的目录,如"c:/Users/espend/AppData/Roaming/.emacs.d/elpa/ace-window-0.8.1/" 如何明确添加C:/Users/espend/AppData/Roaming/.emacs.d
  • 切换到*scratch*缓冲区并输入(add-to-list 'load-path "C:/Users/espend/AppData/Roaming/.emacs.d"),然后输入C-x e

标签: emacs


【解决方案1】:

默认情况下,您的 init 文件所在的目录(您的主目录或 ~/.emacs.d 目录)不在您的 Emacs load-path 中,并且应该添加到其中。 (如果您这样做,最新版本的 Emacs 将 complain。)

而是将新的 elisp 库放入名为 ~/.emacs.d/lisp 之类的子目录中,并将 that 添加到您的 load-path,方法是将以下内容添加到您的 init 文件中:

(add-to-list 'load-path (expand-file-name "~/.emacs.d/lisp"))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    • 1970-01-01
    • 2019-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多