我的Emacs版本(24.5.2)附带的Emacs版本是8.2.10。我从ELPA安装了8.3.1版本,并将其添加到init文件中:
(add-to-list 'load-path "~/.emacs.d/org-20150803")
(require 'org)当我检查Emacs中的org版本时,它说:
Release_8.2.10@ /home/meir/.emacs.d/elpa/org-20150803/)
也就是说,它报告旧版本和新目录..。(内置版本位于/usr/local/share/emacs/24.5/lisp/org中)
以下是init文件的相关部分(在此部分之前没有任何内容):
(require 'cl)
;; Org-mode that was shipped with Emacs
(setq load-path (remove-if (lambda (x) (string-match-p "org$" x)) load-path))
;; ELPA
(setq load-path (remove-if (lambda (x) (string-match-p "org-20" x)) load-path))
(add-to-list 'load-path "~/.emacs.d/org-20150803")
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
(require 'org)如何让Emacs加载新版本的org-mode
更新:我将/usr/local/share/emacs/24.5/lisp/org重命名为/usr/local/share/emacs/24.5/lisp/org1,因此Emacs肯定看不到内置版本。但是,它仍然显示旧的版本号!
发布于 2015-08-09 04:15:44
我建议您重新开始,删除任何亲自安装的org版本:
rm -rf ~/.emacs.d/elpa/org-* # your installation path _may_ vary.然后
例如,如果您像我一样,希望从http://orgmode.org/elpa中获得org-plus-cont肋骨,那么首先您应该:
> emacs -Q -batch -eval "(progn (require 'package) (add-to-list 'package-archives '(\"org\" . \"http://orgmode.org/elpa/\")) (package-initialize) (package-refresh-contents) (package-install 'org-plus-contrib))"然后,通过退出emacs并重新开始,确认成功:
> emacs -q -eval "(progn (require 'package) (package-initialize))"
meta-x org-version备注:
-eval "(progn (require 'package) (package-initialize))",那么org可能会自动从您在./site-lisp中安装的任何版本中自动加载--可能是旧版本。https://stackoverflow.com/questions/31855904
复制相似问题