2015-08-06 14 views
7

La versione di org-mode fornita con la mia versione di Emacs (24.5.2) è 8.2.10. Ho installato la versione 8.3.1 dalla ELPA e ha aggiunto questo al mio file di init:Emacs vede la directory con la nuova versione org-mode, ma carica la vecchia versione

(add-to-list 'load-path "~/.emacs.d/org-20150803") 
(require 'org) 

Quando controllo la versione di org in Emacs, si dice:

versione Org-mode 8.2.10 (release_8 .2.10 @ /home/meir/.emacs.d/elpa/org-20150803/)

Cioè, si riporta la vecchia versione e la nuova directory ... (la versione built-in si trova in /usr/local/share/emacs/24.5/lisp/org)

Ho provato le soluzioni proposte here e here.

Ecco la quota di competenza del mio file init (non c'è nulla prima di questa porzione):

(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) 

Come raggiungo Emacs per caricare la nuova versione di org-mode?

AGGIORNAMENTO: ho rinominato /usr/local/share/emacs/24.5/lisp/org per essere /usr/local/share/emacs/24.5/lisp/org1, quindi non è possibile vedere la versione integrata nella versione Emacs. Tuttavia, mostra ancora la vecchia versione ..

+1

controllo M-x list-load-path-ombre – aartist

+0

L'output di questo comando è: 'Non Emacs Lisp pedinamenti load-path erano found.' Ma per favore vedere l'aggiornamento alla parte inferiore del post. – AlwaysLearning

risposta

5

vi consiglio di ricominciare eliminando eventuali versioni installate personalmente di org:

rm -rf ~/.emacs.d/elpa/org-* # your installation path _may_ vary. 

e poi

  • assicurarsi che quando si build org da elpa non hai già caricato org.
  • decidere quale versione di org si desidera e l'archivio del pacchetto da cui proviene.

Per esempio, se, come me, vuole org-plus-contrib da http://orgmode.org/elpa, prima è necessario:

> 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))" 

Quindi, conferma il successo per smettere di emacs e riavviando come:

> emacs -q -eval "(progn (require 'package) (package-initialize))" 
meta-x org-version 

Note:

  • se non lo fanno i nclude -eval "(progn (require 'package) (package-initialize))" quindi la versione di org verrà probabilmente caricata automaticamente da qualsiasi cosa tu abbia installato in .../site-lisp - probabilmente una vecchia versione
  • regolare 'pacchetto org è anche disponibile a http://orgmode.org/elpa - c.f. http://orgmode.org/elpa.html per le differenze
+0

Questo consiglio ha funzionato. Nota che devi aver caricato 'MELPA' per installare' org' e che 'org-version' funziona solo quando viene caricato' org-mode'. Inoltre, per qualche ragione, ottengo il messaggio 'Done (Total of 112 files compiled, 4 skipped)' durante l'installazione di 'org', che sembra implicare alcuni errori di compilazione. Tuttavia, tutto sommato la nuova versione mostra. Grazie! – AlwaysLearning

+0

Come posso fare questo con la GUI Emacs? (Homebrew Emacs 24.5 su OSX.) Quando eseguo 'open -a /Applications/Emacs.app --args --no-init --eval" (progn (richiede 'pacchetto) (aggiungi-a-lista' pacchetti-archivi '(\ "org \". \ "http: //orgmode.org/elpa/ \")) (package-initialize) (package-refresh-contents) (pacchetto-installazione' org-plus-contrib)) "' non viene mai superato 'Contacting host: orgmode.org: 80'. Quando provo a provare prima il pacchetto package.el, prendo 'package-desc-reqs accedendo a un pacchetto non-desc' e non riesco a installare' org-plus-contrib'. Eventuali suggerimenti? – incandescentman

+1

Questo ha funzionato perfettamente per me sul mio MacOSX (non homebrew) emacs 24.5-1 da http://emacsformacosx.com/. @incandescentman: supponendo che tu sia in grado di usare altrimenti il ​​gestore di pacchetti, ti consiglio di provare emacs freschi. – malcook