Non sono sicuro al 100% che puoi davvero controllare in modo affidabile solo con require
o use-package
... Ma se stai usando package.el per la funzionalità in modalità org, potrebbe essere necessario rinviare la tua configurazione in modalità org fino a dopo l'inizializzazione dei pacchetti. Puoi farlo con un hook le esecuzioni dopo che Emacs ha inizializzato chiamato " after-init-hook
".
Così...
Ciò significa che nel tuo .emacs
, avrai bisogno di un gancio come:
(add-hook 'after-init-hook 'package-config)
E da qualche altra parte:
(defun package-config ()
;;Your org-mode config goes here.
)
Successivamente, hai accesso alla funzionalità di verifica e download di package.el ...
pertanto, poiché si desidera verificare anche l'esistenza del pacchetto, è possibile utilizzare " (package-installed-p 'org-plus-contrib)
" e installarlo con " (package-install package)
" se non è presente.
Nel complesso, probabilmente il codice sarebbe simile a:
(defun package-config ()
(unless (package-installed-p 'org-plus-contrib)
(package-refresh-contents)
(package-install 'org-plus-contrib)))
(add-hook 'after-init-hook 'package-config)
Con il resto della tua configurazione dopo il (unless ...)
corpo.
In questo modo, ottieni la tua configurazione, ottieni il controllo dell'installazione del pacchetto e lo scarichi automaticamente in modo da poter presumere in sicurezza che qualsiasi cosa oltre quella linea nella funzione possa utilizzare i contributi caricati. (Supponendo che tu abbia una connessione di rete se non esiste.)
(use-package org-plus-contrib :ensure t)
? Concesso che sto usando botte con pallet per la gestione dei pacchetti, ma inserisce /home/kmicu/.emacs.d/.cask/24.4.1/elpa/org-plus-contrib-20150202 nel mio percorso e lo carica.