Emacs 组织模式-(要求组织发布)导致组织版本降级
我刚刚将组织模式升级到ELPA中提供的最新版本。根据官方文档,安装必须在新的emacs会话中完成,在此会话中没有加载与组织相关的脚本/文件。安装成功,Emacs 组织模式-(要求组织发布)导致组织版本降级,emacs,org-mode,Emacs,Org Mode,我刚刚将组织模式升级到ELPA中提供的最新版本。根据官方文档,安装必须在新的emacs会话中完成,在此会话中没有加载与组织相关的脚本/文件。安装成功,org版本报告我已更新到8.2.6(从7.9.3f)。然而,一旦我放回与组织相关的旧脚本并重新加载emacs,当我运行org version时,我就会得到7.9.3f。为了追踪原因,我通过逐个添加与组织相关的脚本来追溯我的步骤。我发现当我添加回(require'org publish)时,版本降级为内置版本。我不知道为什么会发生这种情况。问题主要是
org版本
报告我已更新到8.2.6(从7.9.3f)。然而,一旦我放回与组织相关的旧脚本并重新加载emacs,当我运行org version
时,我就会得到7.9.3f。为了追踪原因,我通过逐个添加与组织相关的脚本来追溯我的步骤。我发现当我添加回(require'org publish)
时,版本降级为内置版本。我不知道为什么会发生这种情况。问题主要是由于我的emacs初始化方式(初始化脚本)造成的
- 在最新版本的org(撰写本文时为8.2.6)中,
现在是org publish
,因此我需要调用ox publish
。我认为调用(要求“ox publish”)
或任何较早版本的模块会导致设置混乱org publish
- 但是,在更改了引用之后,我得到了一个错误,关于未找到
ox publish
- 为了进一步追踪问题,我从我的
中删除了所有与组织相关的脚本(这就是我命名初始化脚本的方式),然后再次运行emacs。当我当时运行init.el
org版本时,我看到它是8.2.6
- 为了检查是否加载了
,我使用了暂存缓冲区,并手动执行ox publish
;它返回正常,确认模块已实际加载。这意味着,(需要“ox publish”)
仅在初始化后加载ox publish
- 我的第一个解决方法是在初始化后使用init hook之后的
加载我的组织发布脚本:
(add-hook 'after-init-hook (lambda() (load-file "/path/to/org-publish-project.el")))
- 这解决了问题,我可以看到我的组织安装升级正确。但是,通过init hook之后的
加载脚本时,我感觉不太好。官方orgmode邮件列表中的一些人建议,我应该检查我是否在我的
中调用init.el
。我没有。该操作将加载通过包管理器安装的包。如果init脚本中没有指定,默认情况下,初始化后将调用它。了解到这一点,我在(包初始化)
的开头添加了对init.el
的调用。之后,我调用了(包初始化)
,直接将其加载到我的组织发布脚本中load file
(load-file "/path/to/org-publish-project.el")
(要求“ox发布”)
,这是否解决了问题?我已经尝试过了,但emacs说找不到ox发布
。我在使用ELPA的组织模式时遇到了很多问题,然后我直接从.zip文件进行安装,它就可以正常工作,你已经试过了吗?我已经为这个问题提供了我自己的答案,看看你是否能从中发现一些东西。