首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为elpa软件包生成自动显示?

如何为elpa软件包生成自动显示?
EN

Stack Overflow用户
提问于 2014-10-13 20:43:29
回答 3查看 2.5K关注 0票数 4

我已经安装了许多使用elpa的软件包,并希望为它们适当地生成自动加载程序。为此,我在init文件中添加了以下内容:

代码语言:javascript
复制
(apply 'update-directory-autoloads (directory-files package-user-dir t "[^\.].*"))

但是,通过以下回溯,我会遇到失败:

代码语言:javascript
复制
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  expand-file-name(nil "/build/buildd/emacs24-24.3+1/debian/build-x/lisp")
  autoload-generated-file()
  autoload-find-generated-file()
  update-directory-autoloads("/home/survivor/.emacs.d/elpa/ahg-20140818.130")
  eval((update-directory-autoloads "/home/survivor/.emacs.d/elpa/ahg-20140818.130") nil)
  eval-last-sexp-1(nil)
  eval-last-sexp(nil)
  call-interactively(eval-last-sexp nil nil)

我这么做是错的吗?我应该把require放在我的每一个包裹里吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-10-14 14:50:30

TL;DR:您可能需要将(package-initialize)添加到init文件中。

您不需要为您的包生成自动加载。包管理器在安装时会自动执行此操作。您将在您的-autoloads.el目录的包目录中找到相应的~/.emacs.d/elpa/文件。

您也不需要要求每个包。然而,与其他所有Emacs文件一样,安装的软件包的自动加载文件需要在包含在其中的自动加载声明可用之前加载(我知道,这让人困惑)。

Emacs包管理器在“激活”包时自动加载包的自动加载文件。Emacs还会自动初始化包管理器并激活所有已安装的包,但只有在处理您的init.el之后才会激活。

因此,在加载时,包(以及它们的自动加载)是不可用的,因此不能在init.el中使用包。

要解决这个问题,可以将所有设置推迟到after-init-hook,或者强制Emacs通过在init文件顶部添加(package-initialize)来初始化包管理器。

票数 3
EN

Stack Overflow用户

发布于 2018-04-30 12:04:18

您可以使用包生成-自动加载:

代码语言:javascript
复制
(package-generate-autoloads "async" "~/.emacs.d/elpa/async-1.9.3/")

它在内部调用更新目录-自动加载。我发现如果您用不同的版本手动替换已经安装的包,并且希望像package.el在安装时一样生成它的自动加载程序,我发现它很有用。

也请参阅这个问题:https://emacs.stackexchange.com/questions/33627/how-to-generate-and-activate-autoloads-for-local-packages/41274

票数 6
EN

Stack Overflow用户

发布于 2014-10-13 21:02:44

  1. 我认为安装一个包应该考虑到自动加载,至少在包本身中声明的那些(即要生成的autoloads )。(我可能弄错了。如果有的话,会有人纠正我的。)
  2. 您的错误消息来自于generated-autoload-filenil。您需要将其设置为指定要使用的输出文件。请参见update-directory-autoloads的文档字符串。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26348561

复制
相关文章

相似问题

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