[英]emacs: load-path and require (cannot open load file)
我在(require 'org-mime)
遇到"Cannot open load file"
錯誤,而加載路徑變量似乎沒問題:
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):
(add-to-list 'load-path "~/.emacs.d/elpa/org-mime-20120112")
它不僅丑陋,而且功能失調,因為版本化路徑可能會更改。 但是為什么會出錯呢?
當您加載需要另一個文件的文件時,會發生一個有趣的問題-必須按時間順序在下一個文件之前加載所需的文件。 例如,如果B需要A,則必須按時間順序將A放置在較高的位置,以便在B加載時,A已經加載。
這種類型的設置我真的很幸運。 大多數文件以el或elc結尾,所以我不確定為什么要加載擴展名不同或沒有擴展名的文件,但是如果需要,當然可以這樣做。
(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)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.