首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >emacs: load-path和require (无法打开加载文件)

emacs: load-path和require (无法打开加载文件)
EN

Stack Overflow用户
提问于 2013-05-27 13:32:04
回答 1查看 3K关注 0票数 0

我在(require 'org-mime)得到了"Cannot open load file"错误,而load-path变量似乎没问题:

代码语言:javascript
复制
load-path is a variable defined in `C source code'.
Its value is
("/home/alexey/.emacs.d/elpa/bbdb-20130526.1945" "/home/alexey/.emacs.d/elpa/org-mime-20120112" "/home/alexey/.emacs.d/elpa/smex-20130421.2153" "/usr/share/emacs/24.3/site-lisp" "/usr/share/emacs/site-lisp" "/usr/share/emacs/24.3/lisp
...

奇怪的是,补救措施看起来像这样(.emacs):

代码语言:javascript
复制
(add-to-list 'load-path "~/.emacs.d/elpa/org-mime-20120112")

它不仅仅是丑陋的:它是功能失调的,因为版本化的路径可能会发生变化。但是为什么会出现错误呢?

EN

回答 1

Stack Overflow用户

发布于 2013-05-27 14:58:18

当您加载一个需要另一个文件的文件时,会出现一个有趣的问题--所需的文件必须在下一个文件之前按时间顺序加载。例如,如果B需要A,则A必须按时间顺序放在较高位置,以便当B加载时,A已经加载。

在这种类型的设置中,我真的很幸运。大多数文件都以el或elc结尾,所以我不确定为什么要加载一个带有不同扩展名或没有扩展名的文件,但如果您愿意的话,当然可以这样做。

代码语言:javascript
复制
(let* ((root.d "~/") (sub-dir (concat root.d ".emacs.d/")))
    (load-file (concat sub-dir "init.el"))
    (setq load-path
(append `(,root.d ,sub-dir
    ,(concat sub-dir "elpa/yasnippet")
) load-path)))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16766830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档