【问题标题】:Emacs 24.3 dired+ won't loadEmacs 24.3 dired+ 无法加载
【发布时间】:2013-03-29 04:44:12
【问题描述】:

我通过list-packages安装了dired+(文件夹放在elpa文件夹下),把'(add-to-list 'load-path "~/.emacs.d/elpa/")'放在我的init文件(我自己创建的)里,'(require 'dired+)放在下面。当我打开 emacs 时,我收到一条错误消息,告诉我我的 init 文件中有错误。如果我删除 '(require 'dired+) 行,错误就会停止,但是当我调用 dired 模式时 dired+ 再次不起作用。我安装它时下载的实际文件夹是'dired+-20130206.1702'。所以我尝试了'(require dired+-20130206.1702),这又在启动时给了我一个错误。

我已经束手无策了。我已经尝试了我能想到的一切,浏览了 GNU emacs 文档,搜索了问题,在 Stack 上查看了答案,但没有运气。有没有人有什么建议?我使用的是 Windows XP。

【问题讨论】:

    标签: emacs dired


    【解决方案1】:

    如果不查看所有代码,就无法确定,但您似乎无缘无故地引用了您的表单。

    即这些:

    '(add-to-list 'load-path "~/.emacs.d/elpa/")
    '(require 'dired+)
    

    应该是:

    (add-to-list 'load-path "~/.emacs.d/elpa/")
    (require 'dired+)
    

    但是,这应该只是使它们无效,而不是直接导致错误。

    向我们展示代码和错误消息。

    编辑:

    将 /dired+/ 添加到末尾似乎可以解决它......虽然我不知道为什么。有什么想法吗?

    load-path 包含一个目录列表,Emacs 将在其中查找库。它不会自动下降到子目录,因此您需要为您的库指定所有相关目录。您的 dired+ 库显然位于 ~/.emacs.d/elpa/dired+/ 目录中。

    对于 menubarplus,您同样需要查看库所在的目录。

    说实话,我原以为 Emacs 24 中的包管理会自动处理这个问题;但由于我没有使用过,我不确定。

    编辑 2:

    是的,我怀疑您这里还有其他问题。我刚刚尝试通过包管理器安装一个库(尽管来自默认的包存储库,它不包含 dired+ 包),并且在重新启动 Emacs load-path 后包含新库的路径,而我没有任何干预。

    【讨论】:

    • 对不起,引用是偶然的。该代码与您拥有的完全相同,错误消息是:警告(初始化):加载`c:/Documents and Settings/Chris Kavanagh/Application Data/.emacs.d/init.el时发生错误':和文件错误:无法打开加载文件,dired+
    • 我已经用其他几个包尝试过这个,每次我放入(需要'包),我都会得到同样的错误。真令人沮丧。
    • 不知何故我偶然发现了 FIX。而不是 (add-to-list 'load-path "~/.emacs.d/elpa/"),我把 (add-to-list 'load-path "~/.emacs.d/elpa/dired+/" )。将 /dired+/ 添加到末尾似乎可以解决它。 (当然(需要'dired+))虽然我不知道为什么。有什么想法吗?
    • 我用 menubar-plus 尝试了这个“修复”,但没有成功。我得到了同样的错误,文件错误:无法打开加载文件,menubarplus。 . .我的代码是,(add-to-list 'load-path "~/.emacs.d/elpa/menubarplus")(需要'menubarplus)。 . .如果有人有任何想法,我在听。
    • 感谢 phils 的帮助,非常感谢。 . .Update:现在,dired+ 完全停止工作。即使我使用 dirdp 命令(就像以前一样),它也不会打开。我在 init 文件中没有更改任何内容。虽然我确实添加了 python-mode,但它似乎工作正常。有趣的是,python 模式文件位于 .emacs 文件夹中,而不是 elpa 文件夹中。 init 中的代码是 (add-to-list 'load-path "~/.emacs.d/elpa/python-mode.el") (需要'python-mode),但它仍然有效。 .我会继续玩它,看看我能不能让它工作。再次感谢。如果您有任何想法,我会在这里检查。
    【解决方案2】:

    我认为 Phils 在加载 Dired+ 时回答了您的问题(指定正确的目录,即您放置 dired+.el 的目录)。

    Wrt Menu-bar+,功能名称是menu-bar+,不是menubarplus,也不是menu-barplus。所以把你的(require 'menubarplus)改成(require 'menu-bar+)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-17
      • 1970-01-01
      • 1970-01-01
      • 2011-05-11
      • 2011-01-22
      • 1970-01-01
      相关资源
      最近更新 更多